PHPMailer 是一款強大的 PHP 發信套件
由於PHP內建的 mail() 函式經常發到收件方變成垃圾信
尋思更好的解法,拜了Google大神找到這套好用的套件
現在租賃的虛擬主機幾乎都有內建Mail Server的服務
透過帳密與 Mail Server請求權限再發信,似乎可以更有效解決被擋信或變成垃圾信的問題
記錄一下使用的語法,方便下次需要時查找參考
<?php
# sendEmail
function sendEmail($from, $email, $toEmail, $subject, $content) {
// phpmailer path
include_once('class.phpmailer.php');
$PHPMailer = new PHPMailer();
$PHPMailer->isSMTP(); // 設定發送引擎
$PHPMailer->SMTPAuth = true;
// $PHPMailer->SMTPDebug = 3;
// $PHPMailer->Debugoutput = 'html';
$PHPMailer->SMTPSecure = 'ssl';
$PHPMailer->Port = 465;
$PHPMailer->Host = 'mail.server'; // 輸入 mail server 位置
$PHPMailer->Username = 'account'; // 帳號
$PHPMailer->Password = 'password'; // 密碼
$PHPMailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$PHPMailer->CharSet = 'UTF-8';
$PHPMailer->From = $email; // 設定發信信箱
$PHPMailer->FromName = $from; // 設定發信者
$PHPMailer->AddAddress($toEmail, 'user name'); //設定收件者
$PHPMailer->AddReplyTo($PHPMailer->From, $PHPMailer->FromName); //設定收信者回覆位址
$PHPMailer->IsHTML(true); //設定使用Html內容
$PHPMailer->Subject = $subject; // 設定主旨
$PHPMailer->AltBody = strip_tags($content); // 設定內容
$PHPMailer->Body = $content;
return $PHPMailer->Send();
}