PHPMailer 发送邮件 gmail注意事项

  • Post author:
  • Post category:php


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