先去下載 PHPMailer,目前版本是 5.1,解壓縮後,複製 class.phpmailer.php 與 class.smtp.php 到專案裡。
class Base {
// 包一層,方便抽換實做方式,以及log使用
public static function mail($subject, $body, $to) {
// 要在 php.ini 設定 error_log 的路徑
error_log("Send mail to $to");
// 預設使用 Gmail
Moca::gmail($subject, $body, $to);
}
private static function gmail($subject, $body, $to) {
require_once("class.phpmailer.php");
require_once("class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP();
// 設定SMTP需要驗證
$mail->SMTPAuth = true;
// Gmail的SMTP主機需要使用SSL連線
$mail->SMTPSecure = "ssl";
// Gamil的SMTP主機
$mail->Host = "smtp.gmail.com";
// Gamil的SMTP主機的SMTP埠位為465埠。
$mail->Port = 465;
// 設定驗證帳號
$mail->Username = "...@gmail.com";
// 設定驗證密碼
$mail->Password = "...";
// 設定寄件者信箱
$mail->From = "...@gmail.com";
// 設定寄件者姓名
$mail->FromName = "...";
// 設定收件者
$mail->AddAddress($to);
// 設定密件副本
// $mail->AddBCC("...@gmail.com");
// 設定信件字元編碼
$mail->CharSet="utf-8";
// 設定信件編碼,大部分郵件工具都支援此編碼方式
$mail->Encoding = "base64";
// 設置郵件格式為HTML
$mail->IsHTML(false);
// 每50自斷行
$mail->WordWrap = 50;
// 傳送附檔
// $mail->AddAttachment("upload/...");
// 傳送附檔的另一種格式,可替附檔重新命名
// $mail->AddAttachment("upload/...", "newname.zip");
// 郵件主題
$mail->Subject = $subject;
// 郵件內容
$mail->Body = $body;
// 附加內容
// $mail->AltBody = '這是附加的信件內容';
// 寄送郵件
if(!$mail->Send()) {
return "郵件無法順利寄出! Mailer Error: ".$mail->ErrorInfo;
}
}
}
沒有留言:
張貼留言