我是負責寫php程式碼與資料庫連結,未來還要搞flash、widgets與資料庫的相連....
關鍵字:PHP phpMailer GMAIL UTF-8
辛苦的Teddy 與 發現flash背景透色之謎的安安,真的幫了小雞一個大忙XD
不然我們的平面組真的要畫佈景了=_=+
-------------------------------------------------------------------
現在是倉卒的教學時間。
我使用的版本是:phpMailer_v2.3
第一步驟是使用GMail 的Server 來寄送信件:
由於需要發送驗證信才能搞出來,所以我決定去google一下,尋找方法。
結論是──
google上的方法都能使用,最重要的有幾點:(鮮少人有說到)
1.這個版本有許多地方其實已經被修正,因此省去很多功夫O3O+
2.Openssl一定要開啟(修改php.ini),而位於AppServ\php6底下的ssleay32.dll與libeay32.dll一定要複製到system32底下哦!!
3.最主要要貼的程式碼如下。
//Modify by Fwolf @ 2006-4-14, to enable ssl mail connection
$host = $this->Host;
$port = $this->Port;
位置可以以 $host = $hosts[$index]; 作為搜尋,在該while迴圈結束的下方放入上方那段程式碼
4.class.smtp完全不用動
再來,好不容易發送了....可是為何信件標題跟內容是亂碼呢?
由於phpMailer的編碼與眾不同....?
還是因為Mail們不太支援UTF-8的編碼格式吧?
其實我並不清楚!(被毆!!!)
總之,再經過一番折騰後,整理的重點如下:
1.主要先改class.phpmailer內的public $CharSet = 'iso-8859-1'; 這一行。
請改成public $CharSet = 'UTF-8';
確保信件編碼可為UTF-8。
基本上似乎這樣子就行了... 但是我還做了一些努力....
底下就當做其他方法來看待吧XD:
2.在sendmail的php檔案裡面寫入以下程式:
mb_internal_encoding('UTF-8');
標題那欄:
$mail->Subject = mb_encode_mimeheader("信件標題", "UTF-8");
內容那欄:
$mail->Body = mb_encode_mimeheader("信件內容", "UTF-8");
不過其實做了1的步驟...其他都是多此一舉就是了~(茶)
順便一提,我直接在sendmail的php檔案內寫上:$mail->CharSet = "UTF-8";
竟然會讓整個php變成亂碼=口=}}!我傻眼了...
(PS:因為本人是用一個php檔案去include 這個sendmail的PHP檔案的...所以才會整個大完蛋這樣XD)
有錯誤請多多指教~~!!
- Apr 02 Thu 2009 06:31
PHP - 跨媒 - PHPMailer與編碼問題1
close
全站熱搜
留言列表
發表留言