当我尝试通过gmail smtp服务器使用PHPmailer发送邮件时,该邮件将被标记为垃圾邮件。我正在使用Hotmail帐户来接收电子邮件。
我已经看过有关此问题的其他主题,但是他们提到他们将“ from”设置为自己的域名,但对我来说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()
我已经阅读了以下主题: How do you make sure email you send programmatically is not automatically marked as spam?
但是就像我说的那样,我不需要自己的域名。还是这不可能?我需要使用自己的域并使用SPF和DKIM吗?
编辑:
我已经测试过将电子邮件发送到yahoo和gmail,并且两者都仅在hotmail起作用时才会将其标记为垃圾邮件。
已解决:
我尝试使用gmail webclient发送邮件,即使这样我的邮件也被标记为垃圾邮件。 gmail smtp服务器以某种方式被列入黑名单。因此,我创建了一个hotmail帐户,并将代码更改为使用hotmail smpt服务器。
$mail->SMTPSecure = "tls";
$mail->Host = 'smtp.live.com';
$mail->Port = 587;
现在我的邮件不再在yahoo gmail和hotmail上标记为垃圾邮件。