PHPMailer利用Gmail 的SMTP發信

  • 下載phpMailer:https://github.com/Synchro/PHPMailer
  • 下載完畢解壓縮,其中類別檔案:
    PHPMailerAutoload.php
    class.phpmailer.php
    class.pop3.php
    class.smtp.php
    放置與寄發信件程式同一層。
  • 使用PHPmailer時,PHP 必須安裝 OpenSSL 的擴充程式。《CentOS7:yum install php-ommon就安裝了》
  • 使用 PHPMailer 透過 Gmail 帳號寄信時,需要採用安全性較低的登入技術,所以要開啟安全性較低的應用程式存取權限,在登入 Gmail 帳號後連結https://www.google.com/settings/security/lesssecureapps 開啟,否則會造成「send-mail: Authorization failed 534 5.7.14」認證錯誤。
  • 開發測試時可以開啟 PHPMailer 的 Debug 模式,可以很清楚知道運作的過程,若發生錯誤也可以很快得知問題所在,其語法如下:
    //Enable SMTP debugging
    // 0 = off (for production use)
    // 1 = client messages
    // 2 = client and server messages
    $mail->SMTPDebug = 2;
  • PHPMailer範例
    <?php
    include(“PHPMailerAutoload.php”); //匯入PHPMailer類別
    $mail= new PHPMailer(); //建立新物件
    $mail->IsSMTP(); //設定使用SMTP方式寄信
    $mail->SMTPAuth = true; //設定SMTP需要驗證
    $mail->SMTPSecure = “ssl”; // Gmail的SMTP主機需要使用SSL連線
    $mail->Host = “smtp.gmail.com”; //Gamil的SMTP主機
    $mail->Port = 465; //Gamil的SMTP主機的SMTP埠位為465埠。
    $mail->CharSet = “utf-8”; //設定郵件編碼
    $mail->Username = “xxx@gmail.com”; //設定google eamil帳號
    $mail->Password = “*********”; //設定google eamil密碼
    $mail->From = “xxx@gmail.com”; //設定寄件者信箱
    $mail->FromName = “測試人員”; //設定寄件者姓名
    $mail->Subject = “PHPMailer 測試信件”; //設定郵件標題
    $mail->Body = “這是一封測試信件! “; //設定郵件內容
    $mail->IsHTML(true); //設定郵件內容為HTML
    $mail->AddAddress(“xxx@xxx.xxx.xxx”, “”); //設定收件者郵件及名稱
    if(!$mail->Send()) {
    echo “Mailer Error: ” . $mail->ErrorInfo;
    } else {
    echo “Message sent!”;
    }
    ?>

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

Go Top