【问题标题】:PhpMailer: SMTP ERROR: EHLO command failedPhpMailer:SMTP 错误:EHLO 命令失败
【发布时间】:2013-12-31 22:58:04
【问题描述】:

我正在尝试在托管服务器上使用 PhpMailer(我只能通过 cPanel 访问),我收到了这个错误:

SERVER -> CLIENT:
CLIENT -> SERVER: EHLO stefanomenci.com
SERVER -> CLIENT: HTTP/1.1 301 Moved
 [...]
SMTP ERROR: EHLO command failed: HTTP/1.1 301 Moved

这是脚本:

require ("/path/to/class.phpmailer.php");
$mail = new PHPMailer();
$mail->SMTPDebug = 2;
$mail->IsSMTP();
$mail->Host = "mydomain.com";
$mail->Port = 2096;
$mail->SMTPAuth = true;
$mail->Username = "name@mydomain.com";
$mail->Password = "****";
$mail->From = "name@mydomain.com";
$mail->FromName = "Name";
$mail->AddAddress("myaddress@gmail.com");
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = "Subject";
$mail->Body = "y<b>a</b>y";
$mail->AltBody = "yay";
$mail->Send();

如果端口错误,它会立即失败并显示“无法连接到服务器”。

如果端口丢失,它会显示“请在您的邮件客户端中打开 SMTP 身份验证,或在发送邮件之前登录服务器。”

如果端口正确,它会等待 10 秒并显示如上所示的错误,无论用户名和密码是否正确。

删除$mail-&gt;IsSMTP() 有效,但通常电子邮件会直接进入垃圾邮件文件夹。

我发现很多关于 PhpMailer 类似问题的帖子,但他们通常使用 Google 而不是 mydomain.com,而且他们从来没有这个错误消息。

【问题讨论】:

  • 提及你的 smtp 主机,它类似于 mail.mydomain.com 而不是主机中的 mydomain.com
  • 是否使用了您的托管服务提供商或目标 SMTP 服务器在文档中任何位置指定的端口 2096?
  • 有或没有mail. 返回相同的错误。使用smtp. 或任何其他子域失败并使用SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0) SMTP connect() failed.
  • 通过 cPanel 访问电子邮件使用 mydomain.com:2096。我尝试使用其他号码,但它显示failed to connect to the server。所以我认为是正确的。我如何检查它是否不是?
  • cpanel 端口不是您的 smtp 端口.. 向您的托管服务提供商询问 smtp 主机地址和端口.. 尝试将端口 465 与 mail.mydomain.com 一起使用

标签: php email smtp phpmailer


【解决方案1】:

如上所述,使用端口 25 或 465。正如我们在连接中看到的那样,在端口 2096 上正在运行一个网络服务器( SERVER -> CLIENT: HTTP/1.1 301 Moved )。

【讨论】:

  • 我将此标记为答案,因为端口和域错误。我在 cPanel 中找到了邮件配置的说明,域是 mail.mydomain.com,端口是 26。按照说明,主题中的错误发生了变化(这就是我将其设置为答案的原因),但它仍然无法连接与其他错误消息。我还在调查,最终我会问另一个不同主题的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 2020-09-05
  • 1970-01-01
  • 2022-12-24
  • 2016-02-21
  • 1970-01-01
  • 2020-06-09
相关资源
最近更新 更多