1. 程式人生 > >PHPMailer 傳送郵件 gmail注意事項

PHPMailer 傳送郵件 gmail注意事項

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");
	}
}