我们需要使用 PHP 的 mail() 函数(实际上是 CakePHP,它包装了该函数)直接从我们的专用服务器 (app.ourserver.com) 发送电子邮件。我们想从 app.ourserver.com 发送邮件,但需要将其作为 mail.domain1.com 和 mail.domain2.com 发送。我们不想使用 STMP,因为它的连接速度很慢,尤其是连接到我们的外部邮件服务器(mail.domain1.com 和 mail.domain2.com)。我尝试向两个域 domain1.com 和 domain2.com 添加适当的 SPF 记录,以允许 ourserver.com 发送电子邮件,但电子邮件在接收端立即被丢弃为垃圾邮件。如果不在外部域上使用经过身份验证的 SMTP 帐户,我们如何才能做到这一点?
答案1
我认为你的标题不正确。应该是“如何从另一个域发送电子邮件?”或类似的东西。
您被归类为垃圾邮件的原因有很多:
- rDNS 验证不适用于 IP 地址 (PTR -> A -> PTR)。
- rDNS 验证不适用于您在 HELO 或 EHLO 命令中使用的名称。
- 您的服务器上的端口 25 上没有任何响应。您可能需要设置本地邮件服务器,但我不建议您这样做。
- 您已被列入黑名单(请检查您的 IP 和域名)。
- SPF 失败。
- DMARC 失败。
如果您查看被归类为垃圾邮件的邮件标题,可能会有标题告诉您该邮件被归类为垃圾邮件的原因。
您的首选应该是使用被允许为您的域发送邮件的中继服务器。连接到提交端口(可能需要身份验证)应该非常快。您发现连接到域的邮件服务器非常慢的事实可能表明您正在触发垃圾邮件避免规则。(我的规则为配置不当的主机提供慢速服务,为配置良好的主机提供快速服务。这会丢弃大量垃圾邮件。)
答案2
您可以设置同步邮件传输协议,一款轻量级程序,可替代 postfix,适合发送电子邮件 - 但不能接收电子邮件。您可以设置发件人地址。对我来说效果很好。设置有点麻烦,所以您需要找到指南或教程 - 我的指南大约一周后才会发布。