2011-06-01 81 views
4

我有这个代码,并且在我的本地服务器中都能正常工作。邮件发送没有任何问题。SMTP错误:无法连接到SMTP主机

但现在我通过内容,网络服务器,我得到这个错误...

SMTP Error: Could not connect to SMTP host. 

SSL是能够在server..correct?那么,问题是什么? enter image description here

  $mail = new PHPMailer(); 
      $mail->IsSMTP(); 
      $mail->SMTPAuth = true;     // enable SMTP authentication 
      $mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
      $mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
      $mail->Port  = 465;     // set the SMTP port 
      $mail->Username = "dnteiro"; // GMAIL username 
      $mail->Password = "xxx";  // GMAIL password 
+0

并且您的防火墙允许端口465连接之外? – Mel 2011-06-02 00:05:32

+0

运行此php代码的服务器。 – Mel 2011-06-02 00:07:18

+0

当然是伟大的中国防火墙。 – zerkms 2011-06-02 00:07:37

回答

8

这听起来像你的主机被阻断smtp.gmail.com:465出站连接。建议:

  1. 验证:如果您有您的网络托管服务器外壳/终端访问,请尝试使用telnet测试,以验证它们实际上是阻止该。运行telnet smtp.gmail.com 465

  2. 联系人:致电或通过电子邮件与您的托管服务提供商联系,了解他们为出站中继提供的SMTP服务器。确保他们知道您想使用您的@gmail.com地址作为发件人/回复地址。

  3. 更新代码:一旦您的主机为您提供了不同的邮件服务器,请更新您的代码并重试。

如果您的Web主机根本不允许从其服务器的出站中继,那么您需要查看交换主机,如果这是您的应用程序的需求。

+2

我面临同样的问题,而telnet实际上是为我工作的。所以我的主机不会阻止我通过端口465接触到smtp.gmail.com。任何建议? – 2014-04-15 17:13:05

相关问题