无法连接到SMTP主机。无法发送消息

时间:2016-05-30 05:55:41

标签: php email phpmailer

当我从服务器发送电子邮件时,它给了我两个错误 -

  

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";

4 个答案:

答案 0 :(得分:1)

在调试模式下尝试phpmailer来检查错误

$mail->SMTPDebug = 3;       // Enable verbose debug output

答案 1 :(得分:1)

首先注销您的Gmail帐户

然后打开这个网址 use this yrl

enter image description here

点击继续按钮

下一步 更改端口和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发布之前的搜索。