要用這個套件透過 Gmail 寄信的話,需要伺服器啟動 SSL 支援才行
Apache 設定方法:(檔案路徑以 Appserv 的安裝路徑為例)
1、C:\Windows\php.ini 當中搜尋「openssl」,把 extension=php_openssl.dll 的註解取消
2、將 C:\Appserv\php5\ 資料夾內的 ssleay32.dll 和 libeay32.dll 複製到 C:\Windows\system32\ 內
3、重新啟動 Apache
要檢查 SSL 有沒有正常啟動,只要打開 Apache 的 error log 就可以看到了~
error log 會在程式集裡面有捷徑,或者也可以直接從檔案總管開啟開啟
位置在 C:\AppServ\Apache2.2\logs\error.log
檔案太大開不了的話,可以直接刪掉,重開 Apache 時就會自動建立一個新的。
另外如果還是開不了 SSL,可以在 php.ini 當中尋找「extension_dir」
確定目錄是不是正確的,Appserv 目錄位址應該指向 C:\AppServ\php5\ext 才對。
send_mail($to_address, $to_name ,$subject, $body);
function send_mail($to_address, $to_name ,$subject, $body, $attach = "")
{
//使用phpmailer發送郵件
require("phpMailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->CharSet = "utf-8";
$mail->Encoding = "base64";
$mail->From = "account@domain";
$mail->FromName = "account name";
$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465; //default is 25, gmail is 465 or 587
$mail->SMTPAuth = true;
$mail->Username = "account@domain";
$mail->Password = "*******";
$mail->addAddress($to_address, $to_name);
$mail->WordWrap = 50;
if (!empty($attach))
$mail->AddAttachment($attach);
$mail->IsHTML(false);
$mail->Subject = $subject;
$mail->Body = $body;
if(!$mail->Send())
{
echo "郵件送出失敗!\r\n";
echo "錯誤訊息: " . $mail->ErrorInfo . "\r\n";
return false;
}
else
{
echo("寄信 $attach 給 $to_name <$to_address> 完成!\r\n");
return true;
}
}