谷歌gmail發送郵件失敗: SMTP connect() failed.


公司的項目使用谷歌郵箱,用戶注冊成功后,會發送一封郵件到用戶注冊的郵箱。但是我注冊一個號卻並沒有收到郵件,於是我在代碼里var_dump打印結果,發現有錯誤提示:SMTP connect() failed.

查閱大量資料,發現很多人都遇到過這個問題,最后終於找到解決方法。

解決方法:

在發送郵件代碼里面增加一行:

$mail->SMTPSecure = 'ssl';

或者:

$mail->SMTPOptions = array('ssl' => array(

'verify_peer' => false,

'verify_peer_name' => false,

'allow_self_signed' => true

));

將上面代碼放進去。

 

下面是谷歌郵件全部代碼

<?php 

include_once "class.phpmailer.php";

include_once "class.smtp.php";

//獲取一個外部文件的內容 

$mail=new PHPMailer();

$body="測試內容";

//設置smtp參數

$mail->IsSMTP();

$mail->SMTPAuth=true;

$mail->SMTPKeepAlive=true;

$mail->SMTPSecure= "ssl";

$mail->Host="smtp.gmail.com";

$mail->Port=465;

//填寫你的email賬號和密碼

$mail->Username="發件人谷歌郵箱賬號@gmail.com";

//這里大家需要填寫谷歌郵箱的登錄密碼,qq和網易是授權碼,谷歌不一樣直接是登錄密碼

$mail->Password="發件人郵箱密碼";

//設置郵件頭from字段

$mail->From="發件人谷歌郵箱賬號@gmail.com";

//設置發件人名字

$mail->FromName="test";

$mail->Subject="郵件標題";

//郵件內容

$mail->AltBody=$body;

$mail->WordWrap=50; // set word wrap

$mail->MsgHTML($body);

//設置回復地址

$mail->AddReplyTo("發件人谷歌郵箱地址","test");

//添加附件,此處附件與腳本位於相同目錄下否則填寫完整路徑

//附件的話我就注釋掉了

//$mail->AddAttachment("accessory.jpg");

//$mail->AddAttachment("accessory.zip");

//設置郵件接收方的郵箱和姓名

$mail->AddAddress("收件人郵箱地址","hello");

//使用HTML格式發送郵件

$mail->IsHTML(true);

//通過Send方法發送郵件

//根據發送結果做相應處理

if(!$mail->Send()){

echo "Mailer Error:".$mail->ErrorInfo;

}else{

echo "Message has been sent";

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM