gmail 注意
1.ssl
2.端口465 (163的25端口无法访问ssl用587)
3.打开IMAP https://mail.google.com/mail/u/0/#settings/fwdandpop
4.开启调试
5.邮件可能直接进了垃圾箱
配置
'SP_MAIL_ADDRESS' => 'xxx@gmail.com',
'SP_MAIL_SENDER' => 'xxx@gmail.com',
'SP_MAIL_SMTP' => 'smtp.gmail.com',
'SP_MAIL_SMTP_PORT' => '465',
'SP_MAIL_LOGINNAME' => 'xxx@gmail.com',
'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");
}
}
转载于:https://my.oschina.net/lantianbaiyun/blog/3085370