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?
- 登入Gmail ->
- 設定 - >
- 轉寄和 POP/IMAP ->
- POP 下載 ->
- 對所有郵件啟用POP功能
3. 打開 許可低安全性程式
https://www.google.com/settings/security/lesssecureapps
4. 打開 PHP的 OpenSSL
創一個 info.php 查看 OpenSSL是否已經 enabled ?
info.php
<?php
phpinfo();
?>
開啟方式
ps: 請使用 php 5 以上版本