提问人:Kevin Lindmark 提问时间:1/4/2023 更新时间:1/11/2023 访问量:215
Php 使用 gmail 和 SPF 记录处理发送邮件
Php send mail with gmail and SPF record handling
问:
我使用 Swiftmailer 库在 php 中发送邮件,例如:
$transporter = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setAuthMode('login')
->setUsername('[email protected]')
->setPassword('password');
$mailer = Swift_Mailer::newInstance($transporter);
我使用 Gmail Workplace,并尝试在我的 webb 主机(而不是 Google)上了解和设置 SPF。我应该为我自己的 IP 地址设置 gmail SPF 还是 SPF,以避免在我的服务器上通过 php 发送邮件,但使用 gmail SMTP 标记为垃圾邮件?
答:
0赞
Reinto
1/10/2023
#1
你已经使用针对 smtp.gmail.com 的凭据进行身份验证,因此你自己的 IP 地址与 SPF 配置无关。SPF 由接收服务器检查,其中连接服务器 (Google) 的 IP 地址会根据标头中找到的域中的 SPF 列表进行检查。Return-Path
然后,Google 会代表您将您的消息转发给目标收件人。因此,Google 的 IP 应该在您在标头中使用的域的 SPF 记录中(也称为退回地址或 smtp.mailfrom)。Return-Path
因此,要回答您的问题:对于您用于发送电子邮件的域(作为地址),您应该将 gmail 服务器作为授权主机。假设您不使用任何其他服务,则该 SPF 记录将如下所示:,如这篇 Google 支持文章中所述。Return-Path
"v=spf1 include:_spf.google.com ~all"
根据 Jake 的评论,事实上,你也应该考虑实施 DKIM 和 DMARC,因为仅仅依靠 SPF 来防止欺骗是不够的,而且对电子邮件转发没有弹性。同样的文档,再上几个级别,列出了实现这一目标所需的所有操作。
评论
1赞
Jake
1/11/2023
除了 Reintro 所说的之外,您还需要设置 DKIM 和 DMARC 记录以完成该集合。这将确保您的电子邮件有最好的机会被送达。
评论