解決 SMTP Error: Could not connect to SMTP host. 問題


我在使用PHPmailer發郵件時候,遇到了這個問題“SMTP Error: Could not connect to SMTP host.”,分享一下解決方法。

這個錯誤是PHP版本7產生的。如果我將PHP更改為5,它就可以工作了。

1.首先查看PHP環境擴展中是否開啟了socket 和openssl擴展,如若沒有開啟,就在php.ini配置文件中開啟兩者擴展支持
去掉下面的兩句分號:

;extension=php_sockets.dll
;extension=php_openssl.dll

2.在自己的郵件配置中加入下面幾行代碼:

$mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );

  這意味着您的郵件服務器提供的證書與您要求的主機名稱不匹配。在你的代碼中,你要求連接到xxx,但服務器說它叫做yyy,並且一個證書與另一個不匹配。 請檢查您是否使用了正確的主機名。

  如果您的ISP將出站SMTP流量重定向到他們自己的服務器,也會發生這種情況 - 這是您在沒有證書驗證的情況下無法檢測到的情況。

  設置這些選項會使其“工作”,但是通過關閉證書驗證來實現這一點,這可能意味着您容易受到中間人攻擊,因此也是不安全的。


免責聲明!

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



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