当我从服务器发送电子邮件时,它给了我两个错误 -
SMTP错误:无法连接到SMTP主机。无法发送消息。 邮件程序错误:SMTP错误:无法连接到SMTP主机。
我发现很多关于Stack溢出的另一个答案的提示但是没有用。我试过没有465/587/65的端口。即使下面的代码在我的本地系统上正常工作如果我设置端口587.但在服务器中,它不起作用。
require('class.phpmailer.php');
require('class.smtp.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPSecure = "ssl";
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com";
$mail->Username = "FromEmailId";
$mail->Password = "Password";
$mail->Port = 465;
$mail->From = "FromEmailId";
$mail->AddAddress("ToEmail");
$mail->IsHTML(true);
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
答案 0 :(得分:1)
在调试模式下尝试phpmailer来检查错误
$mail->SMTPDebug = 3; // Enable verbose debug output
答案 1 :(得分:1)
首先注销您的Gmail帐户
然后打开这个网址 use this yrl
点击继续按钮
下一步强> 更改端口和SMTPsecure
$mail->SMTPSecure = "tls";
$mail->Port = 587;
答案 2 :(得分:0)
Gmail帮助:
仍然无法发送邮件?
如果您尝试在端口465(使用SSL / TLS)和端口587(使用STARTTLS)上配置SMTP服务器,但仍然无法发送邮件,请尝试将SMTP配置为使用端口25(使用SSL / TLS)。
答案 3 :(得分:0)
这个问题未能进行基本搜索,错过了评论中后面提到的重要信息: OP正在使用GoDaddy 。众所周知,GoDaddy会阻止出站SMTP,因此任何与切换端口号或安全协议相关的建议都无济于事。您需要阅读other questions on GoDaddy's mail handling,并阅读他们的支持文档,这将推动您使用GoDaddy的邮件服务器(使用securehosting
域)或通过localhost作为中继。所有这些也包含在PHPMailer troubleshooting guide。
将来,根据SO guidelines发布之前的搜索。