我正在尝试在托管服务器上使用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类似问题的帖子,但他们通常使用谷歌而不是mydomain.com,他们从未收到此错误消息。
答案 0 :(得分:3)
如上所述使用端口25或465。在端口2096上正在运行网络服务器,我们可以在连接中看到(SERVER - &gt; CLIENT:HTTP / 1.1 301 Moved)。