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

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

這個錯誤是PHP版本7產生的。若是我將PHP更改成5,它就能夠工做了。安全

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

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

2.在本身的郵件配置中加入下面幾行代碼:socket

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

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

  若是您的ISP將出站SMTP流量重定向到他們本身的服務器,也會發生這種狀況 - 這是您在沒有證書驗證的狀況下沒法檢測到的狀況。ssl

  設置這些選項會使其「工做」,可是經過關閉證書驗證來實現這一點,這可能意味着您容易受到中間人攻擊,所以也是不安全的。openssl

相關文章
相關標籤/搜索