当我尝试通过 gmail smtp 服务器使用 PHPmailer 发送邮件时,邮件将被标记为垃圾邮件。我正在使用 hotmail 帐户接收电子邮件。
我已经查看了有关此问题的其他主题,但他们提到他们将“发件人”设置为他们自己的域名,但对我来说 myaccount@gmail.com 已经足够好了。
这是我使用的代码:
$mail = new PHPMailer();
$body = "test";
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "myaccount@gmail.com";
$mail->Password = "mypassword";
$mail->SetFrom('myaccount@gmail.com', 'myaccount');
$mail->Subject = "Test subject";
$mail->MsgHTML($body);
$address = "myaccount@hotmail.com";
$mail->AddAddress($address, "test");
$mail->Send()
我已阅读此主题: 如何确保以编程方式发送的电子邮件不会被自动标记为垃圾邮件?
但就像我说的,我不需要自己的域名。或者这是不可能的,我是否需要使用自己的域并使用 SPF 和 DKIM?
编辑:
我已经测试过向 yahoo 和 gmail 发送电子邮件,并且两者都只能使用 hotmail 将它们标记为垃圾邮件。
解决了:
我尝试使用 gmail 网络客户端发送邮件,即使这样我的邮件也被标记为垃圾邮件。不知何故,gmail smtp 服务器被列入黑名单。所以我创建了一个 hotmail 帐户并将代码更改为使用 hotmail smpt 服务器。
$mail->SMTPSecure = "tls";
$mail->Host = 'smtp.live.com';
$mail->Port = 587;
现在我的邮件不再在 yahoo gmail 和 hotmail 上被标记为垃圾邮件了。