我是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。现在它已成功发送电子邮件,但问题是,它显示垃圾邮件文件夹中的邮件。为什么?
答案 0 :(得分:0)
这可能有很多原因:
smtp.impeccableplus.com
可能会被列入黑名单。你可以check if your SMTP server is being blacklisted from address
可能会被视为垃圾邮件,特别是如果您正在使用from@example.com
您应该考虑为您要发送电子邮件的电子邮件地址设置 SPF 和 DKIM 。阅读this和this。通过设置SPF和DKIM,您基本上可以验证电子邮件,从而显着改善邮件传递。
或者,如果您真的遇到困难,请考虑使用Sendgrid等邮件传递API。