好的,我无法弄清楚这一点。我正在使用PHPMailer从我的域发送电子邮件 - example.com给自己。我正在给自己发送电子邮件。(测试谷歌架构标记),但电子邮件未经过身份验证。 这是我用来向自己发送电子邮件的代码。
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Host = 'tls://smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Username = 'myemail@gmail.com';
$mail->Password = '';
$mail->setFrom('myemail@gmail.com');
$mail->addAddress('myemail@gmail.com');
$mail->Subject = 'Microdata Test';
$html = '
<html>
<head>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"description": "Check this out",
"potentialAction": {
"@type": "ViewAction",
"target": "https://www.youtube.com/watch?v=eH8KwfdkSqU"
}
}
</script>
</head>
<body>
<p>
This a test for a Go-To action in Gmail.
</p>
</body>
</html>
';
$mail->msgHTML($html);
$mail->send();
这是我的spf记录:
v = spf1 a mx include:mailgun.org include:mydomain.com~all
答案 0 :(得分:0)
由于您使用Google的smtp发送电子邮件,因此您必须将其包含在SPF中:
include:_spf.google.com
答案 1 :(得分:0)
您是通过SMTP从主机发送到谷歌的。这意味着Google会查看您的主机是否在您的SPF记录中并采取相应行动
所以,你必须在SPF记录中包含你的公共IP,并祈祷这就足够了。
此外,您的用户名为myemail
而不是myemail@gmail.com
。当然,密码应该是真正的密码。
如果无效,请参阅PHPMailer日志,应该有更多提示。