PHPMailer 是一個強大的 PHP 編寫的郵件發送類,使用它可以更加便捷的發送郵件,並且還能發送附件和 HTML 格式的郵件,同時還能使用 SMTP 服務器來發送郵件。
大家也許會問,PHP 不是已經內置了 mail() 函數了嗎,為什麼要用 PHPMailer 呢?mail() 函數功能並不完善,只能發送文本的 e-mail,並且 mail() 函數只能應用在 Linux 服務器(很多裝在 Win 主機的 WP 博客用戶注冊收不到郵件也是這個原因),還有一個最大的問題就是使用 mail() 函數發送的郵件沒有進行身份驗證,很多郵件收不到使用 mail() 函數發送的郵件或者發送的郵件直接進入垃圾郵箱。
PHPMailer 主要功能
在郵件中包含多個 TO、CC、BCC 和 REPLY-TO。
平台應用廣泛,支持的 SMTP 服務器包括 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。
支持嵌入圖像,附件,HTML 郵件。
可靠的強大的調試功能。
支持 SMTP 認證。
自定義郵件頭。
支持 8bit、base64、binary 和 quoted-printable 編碼。
PHPMailer 的簡單使用
這裡使用最常用的 Gmail 來做介紹。
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail = new PHPMailer();
$mail->CharSet ="UTF-8"; //設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置為 UTF-8
$mail->IsSMTP(); // 設定使用SMTP服務
$mail->SMTPAuth = true; // 啟用 SMTP 驗證功能
$mail->SMTPSecure = "ssl"; // SMTP 安全協議
$mail->Host = "smtp.gmail.com"; // SMTP 服務器
$mail->Port = 465; // SMTP服務器的端口號
$mail->Username = "[email protected]"; // SMTP服務器用戶名
$mail->Password = "your_password"; // SMTP服務器密碼
$mail->SetFrom('發件人地址', '發件人名稱'); // 設置發件人地址和名稱
$mail->AddReplyTo("郵件回復人地址","郵件回復人名稱");
// 設置郵件回復人地址和名稱
$mail->Subject = ''; // 設置郵件標題
$mail->AltBody = "為了查看該郵件,請切換到支持 HTML 的郵件客戶端";
// 可選項,向下兼容考慮
$mail->MsgHTML(''); // 設置郵件內容
$mail->AddAddress('收件人地址', "收件人名稱");
//$mail->AddAttachment("images/phpmailer.gif"); // 附件
if(!$mail->Send()) {
echo "發送失敗:" . $mail->ErrorInfo;
} else {
echo "恭喜,郵件發送成功!";
}