PHPMailer 傳送郵件 gmail注意事項
阿新 • • 發佈:2019-08-08
gmail 注意
1.ssl
2.埠465
3.開啟IMAP https://mail.google.com/mail/u/0/#settings/fwdandpop
4.開啟除錯
5.郵件可能直接進了垃圾箱
配置
'SP_MAIL_ADDRESS' => '[email protected]', 'SP_MAIL_SENDER' => '[email protected]', 'SP_MAIL_SMTP' => 'smtp.gmail.com', 'SP_MAIL_SMTP_PORT' => '465', 'SP_MAIL_LOGINNAME' => '[email protected]', 'SP_MAIL_PASSWORD' => 'xxx',
傳送
/**
* 傳送郵件
* @param string $address
* @param string $subject
* @param string $message
* @return array<br>
* 返回格式:<br>
* array(<br>
* "error"=>0|1,//0代表出錯<br>
* "message"=> "出錯資訊"<br>
* );
*/
function sp_send_email($address,$subject,$message){
import("PHPMailer");
$mail=new \PHPMailer();
//開啟除錯
$mail->SMTPDebug = 1;
// 設定PHPMailer使用SMTP伺服器傳送Email
$mail->IsSMTP();
$mail->IsHTML(true);
// 設定郵件的字元編碼,若不指定,則為'UTF-8'
$mail->CharSet='UTF-8';
// 新增收件人地址,可以多次使用來新增多個收件人
$mail->AddAddress($address);
// 設定郵件正文
$mail->Body=$message;
// 設定郵件頭的From欄位。
$mail->From=C('SP_MAIL_ADDRESS');
// 設定發件人名字
$mail->FromName=C('SP_MAIL_SENDER');;
// 設定郵件標題
$mail->Subject=$subject;
// 設定SMTP伺服器。
$mail->Host=C('SP_MAIL_SMTP');
//設定使用ssl加密方式登入鑑權
$mail->SMTPSecure = 'ssl';
// 設定SMTP伺服器埠。
$port=C('SP_MAIL_SMTP_PORT');
$mail->Port=empty($port)?"465":$port;
// 設定為"需要驗證"
$mail->SMTPAuth=true;
// 設定使用者名稱和密碼。
$mail->Username=C('SP_MAIL_LOGINNAME');
$mail->Password=C('SP_MAIL_PASSWORD');
// 傳送郵件。
if(!$mail->Send()) {
$mailerror=$mail->ErrorInfo;
return array("error"=>1,"message"=>$mailerror);
}else{
return array("error"=>0,"message"=>"success");
}
}