close

我是負責寫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)




有錯誤請多多指教~~!!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 熊熊子 的頭像
    熊熊子

    熊的一隻窩、一隻熊的窩

    熊熊子 發表在 痞客邦 留言(0) 人氣()