PhpMailer:SMTP错误:EHLO命令失败

我正在尝试在托管服务器上使用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-> IsSMTP()可以,但是通常电子邮件直接进入垃圾邮件文件夹.

我发现有许多关于PhpMailer的类似问题的帖子,但是他们通常使用Google而不是mydomain.com,并且它们从未收到此错误消息.

解决方法:

如上所述,使用端口25或465.正如我们在连接中看到的那样,在端口2096上正在运行网络服务器(服务器->客户端:HTTP / 1.1 301已移动).

上一篇:【实例】使用 PHPMailer 读取excel 文件


下一篇:使用复选框将使用phpMailer的电子邮件发送到数据库中的多个收件人到选定的电子邮件地址