PHPMailer 使用 Gmail STMP

跟 直接使用 mail() 的最大差別是"比較"不會被當垃圾郵件

下載地點 PHPMailer

程式碼

其實不難

<?php

include("phpmailer/PHPMailerAutoload.php"); //匯入PHPMailer類別       


$mail= new PHPMailer(); //建立新物件        
$mail->IsSMTP(); //設定使用SMTP方式寄信        
$mail->SMTPAuth = true; //設定SMTP需要驗證        
$mail->SMTPSecure = "ssl"; // Gmail的SMTP主機需要使用SSL連線   
$mail->Host = gethostbyname("smtp.gmail.com"); //Gamil的SMTP主機        
$mail->Port = 465;  //Gamil的SMTP主機的SMTP埠位為465埠。        
$mail->CharSet = "UTF-8"; //設定郵件編碼 

$mail->Username = "[email protected]";  //你使用的Gmail帳號 // 當天註冊的帳號無法使用喔~
$mail->Password = "psw";  //你登入Gmail的密碼           

$mail->From = "[email protected]";    //設定寄件者信箱 // 這似乎失效了
$mail->FromName = "蕭大俠";            //設定寄件者姓名     

//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
// $mail->SMTPDebug  = 4; // Debug 時打開

$mail->Subject = "PHPMailer 測試信件"; //設定郵件標題        
$mail->Body =  " 這是測試信喔! ";//設定郵件內容        

$mail->IsHTML(true); //設定郵件內容為HTML        
$mail->AddAddress("[email protected]","XXX"); //設定收件者郵件及名稱
if(!$mail->Send()) { 
   return false; // 失敗
} else {        
   return true; // 成功
}

遇到問題了嗎?

以下都是針對 Gmail 的一些開啟權限

1. 裝置一直不能登入?

在debug時,列出的訊息中,GOOGLE其實提供了解決問題頁面

https://support.google.com/mail/answer/78754

當中有個

https://accounts.google.com/DisplayUnlockCaptcha

到這裡許可你的帳號,在一段時間內許可未知裝置的應用程式登入

2. 帳號沒開gmail的STMP?

  1. 登入Gmail ->
  2. 設定 - >
  3. 轉寄和 POP/IMAP ->
  4. POP 下載 ->
  5. 對所有郵件啟用POP功能

3. 打開 許可低安全性程式

https://www.google.com/settings/security/lesssecureapps

4. 打開 PHP的 OpenSSL

創一個 info.php 查看 OpenSSL是否已經 enabled ?

info.php
<?php
phpinfo();
?>
開啟方式

YOGO生活誌 : OpenSSL 開啟方式

ps: 請使用 php 5 以上版本

results matching ""

    No results matching ""