消息未发送.Mailer错误:SMTP connect()失败

时间:2014-01-27 04:22:17

标签: php phpmailer

我是Php的新手,并找到一个Php邮件程序类来发送电子邮件,但收到以下错误。

错误讯息:

Message was not sent.Mailer error: SMTP connect() failed. 

Php代码:

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "smtp.impeccableplus.com"; // SMTP server

$mail->From     = "from@example.com";
$mail->AddAddress("email@gmail.com");

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

?>

感谢。

更新:

我只是更改主机名= localhost。现在它已成功发送电子邮件,但问题是,它显示垃圾邮件文件夹中的邮件。为什么?

1 个答案:

答案 0 :(得分:0)

这可能有很多原因:

  • 您的SMTP服务器smtp.impeccableplus.com可能会被列入黑名单。你可以check if your SMTP server is being blacklisted
  • from address可能会被视为垃圾邮件,特别是如果您正在使用from@example.com
  • 某些邮件客户端(例如Gmail)不喜欢您正在发送电子邮件&#34;来自&#34;别人的地址,如果它真的不是来自那个地址
  • 可能还有20多个其他原因

您应该考虑为您要发送电子邮件的电子邮件地址设置 SPF DKIM 。阅读thisthis。通过设置SPF和DKIM,您基本上可以验证电子邮件,从而显着改善邮件传递。

或者,如果您真的遇到困难,请考虑使用Sendgrid等邮件传递API。