用PHPMailer透過Gmail來寄信


在撰寫PHP時,當我們需要透過程式來寄電子郵件給會員時,常會用PHP所提供,mail()透過SMTP伺服器來寄信,但並非所有網頁空間都有提供SMTP服務,就算自己架設伺服器,也不想多架設一個郵件伺器,來找自己麻煩。

當然也可以透過修改php.ini的設定,使用一些ISP所提供SMTP伺服器來寄信,但幾乎所有網頁空間,都不會讓你修改php.ini,就算用ini_set()來修改也要靠運氣,而另外一個選擇就是PHPMailer。

而本篇就是介紹PHPMailer這個開源函式庫,透過Gmail所提供的SMTP服務來寄信。 PHPMailer優點:
  • 自由軟體完全免費
  • 跨平台(Windows和Linux都可)
  • 可附加檔案
  • 不用修改php.ini
  • 支援多種郵件編碼包括:8bit,base64,binary和quoted-printable
PHPMailer官網:http://phpmailer.worxware.com/ 
PHPMailer下載點: http://sourceforge.net/projects/phpmailer/files/

下載解壓縮後,其實可以在doc資料夾之下有一個use_gmail的範例檔,以下是那個範例檔的說明:

基本設定部份:
IsSMTP();
 //設定為安全驗證方式//設定為安全驗證方式 
 $mail->SMTPAuth   = true;                  
 //使用SSL
 $mail->SMTPSecure = "ssl";                
 //SMTP伺服器
 $mail->Host       = "smtp.gmail.com";      
 //SMTP伺服器的Port
 $mail->Port       = 465;      
帳號設定部份:
        //發信者信箱
 $mail->Username   = "OOOO@gmail.com";  
 //信箱密碼
 $mail->Password   = "*******";            
 //寄件者信箱
 $mail->From       = "OOOO@gmail.com";
 //寄件者名稱
 $mail->FromName   = "Allenplay";
信件內容部份:
        //以HTML格式傳送
 $mail->IsHTML(true); // send as HTML
       //信件主旨
        $mail->Subject    = "這是測試";
 //附加訊息,當只能顯示純文字時,出現的資訊
 $mail->AltBody    = "這是純文字才會出現";
 //每幾個字自動斷行
 $mail->WordWrap   = 50; 
 
 //信件內容
 $mail->Body ="
 
 
 
 
 
 這是一封HTML格式的測試信。
 
 
 ";

 //回信的e-mail和名稱
 $mail->AddReplyTo("OOOO@gmail.com","AllenPlay");
 //附件以下兩種選方法擇一
 $mail->AddAttachment("/path/to/file.zip");    
 $mail->AddAttachment("/path/to/image.jpg", "new.jpg"); 
 //收件人信箱
 $mail->AddAddress("allenplay@kimo.com","First Last");

判斷是否寄出
       if(!$mail->Send()) {
   echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
   echo "Message has been sent";
 }
?>
用PHPMailer透過Gmail來寄信 用PHPMailer透過Gmail來寄信 Reviewed by 點讚艾 on 12月 13, 2011 Rating: 5

沒有留言

不管走過路過,記得都要留言