PHPMailer 範例程式碼錯誤

似乎因為使用情境的不同 少掉了autoload 所以

$this->smtp = new SMTP; 這邊報錯 關鍵錯誤 少了

require “路徑/PHPMailerAutoload.php”;

補上即可正常運作 其他相關的設定 我就不多談囉~

// define('TITLE_CH','中文');
// define('TITLE_EN','aaa');
// define('MAIL_SMTPSECURE', 'ssl'); // Gmail的SMTP主機需要使用SSL連線
// define('MAIL_HOST' , 'smtp.gmail.com');// Gmail的SMTP主機
// define('MAIL_PORT' , '465'); // Gmail的SMTP主機的port為465
// define('MAIL_USERNAME' , '帳號@gmail'); // 設定驗證帳號
// define('MAIL_PASSWORD' , '密碼'); // 設定驗證密碼

if (!function_exists('mailer')){
function mailer($to,$name,$subject,$message){
require_once(DIRROOT."lib/PHPMailer/PHPMailerAutoload.php");
include_once(DIRROOT."lib/PHPMailer/class.phpmailer.php");
$mail = new PHPMailer(); // 建立新物件
$mail->IsSMTP(); // 設定使用SMTP方式寄信
$mail->SMTPAuth = true; // 設定SMTP需要驗證
$mail->SMTPSecure = MAIL_SMTPSECURE; // Gmail的SMTP主機需要使用SSL連線
$mail->Host = MAIL_HOST; // Gmail的SMTP主機
$mail->Port = MAIL_PORT; // Gmail的SMTP主機的port為465
$mail->CharSet = "utf-8"; // 設定郵件編碼
$mail->Encoding = "base64";
$mail->WordWrap = 50; // 每50個字元自動斷行
$mail->Username = MAIL_USERNAME; // 設定驗證帳號
$mail->Password = MAIL_PASSWORD; // 設定驗證密碼
$mail->From = MAIL_USERNAME; // 設定寄件者信箱
$mail->FromName = TITLE_CH; // 設定寄件者姓名
$mail->Subject = $subject; // 設定郵件標題
$mail->Body = $message;
$mail->IsHTML(true); // 設定郵件內容為HTML
$mail->AddAddress($to,$name); // 收件者郵件及名稱
return $mail->Send();
}
}

echo "測試信件";
$to = "[email protected]";
$name = "王小明";
$subject = "這是封測試郵件";
$message = "測試信件<br>測試信件";
$ms = mailer($to,$name,$subject,$message);
var_dump($ms);

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *