如果 PHP mail() 邮件服务器不是 FROM 域的 MX,会出现什么问题?

如果 PHP mail() 邮件服务器不是 FROM 域的 MX,会出现什么问题?

假设我有这样的场景:

我的电子邮件地址的邮件服务器(以及 MX)[电子邮件保护]在我的办公室举办。

我的网站 company.com 由第三方网络托管公司托管。

在我的网站上,我创建了一个<form>包含 FROM、TO、SUBJECT、BODY 的内容并使用 PHP mail() 发送给客户。

由于 Web 服务器是第三方的,因此 PHP mail() 使用本地邮件服务器。

我认为我的邮件将到达客户的邮件服务器并显示为“伪造的”或垃圾邮件。

我需要做什么来确保我的邮件看起来合法并且收到的邮件不会被发送到第三方网络主机?

答案1

您的邮件将受接收域的政策约束 - 唯一可以告诉您“您需要做什么才能确保您的邮件看起来合法”的人是这些网站的邮件管理员。

一些建议:

  1. 确保您的邮件形式合理安全 - 您不想无意中成为垃圾邮件发送者。
  2. 确保您的FROMREPLY-TO地址指向您希望退回/回复/等到达的地方
  3. 确保您的 Web 服务器已列在您的域的SPF 记录
  4. 正确配置密钥管理信息系统,如果您愿意的话。
  5. 如果您要发送批量邮件,请与较大网站(Yahoo、Google、Hotmail 等)的邮政局长/批量邮件人员联系。
  6. (可选)配置您的 Web 服务器以使用您的普通 MX 作为智能主机/中继。

答案2

你应该添加 SPF发件人策略框架记录到您的域。SPF 记录是添加到您的域的 txt 文件,用于指定允许谁为该域发送电子邮件。在本例中,您将添加您的 Web 服务器。

这是一个例子:example.com. TXT "v=spf1 a:mail.example.com -all"
该记录表明只有 mail.example.com 被允许为域 example.com 发送邮件。

大多数大型公共电子邮件公司都有批量邮件指南。以下是AOL 的. 遵循他们的指导方针以确保最佳交付。

检查你的网络服务器是否在电子邮件黑名单中这里。黑名单是根据 IP 来划分的,因此您可能在不知情的情况下获得了一个。我曾经为客户设置了一个 VoIP 服务器,然后他希望将语音邮件指示通过电子邮件发送出去。这时我们发现他的 IP 在电子邮件黑名单上,我们必须为服务器获取一个新的 IP。

答案3

由于 Web 服务器是发送邮件的服务器,因此其声誉决定了收件人如何处理邮件。黑名单、正确的反向 DNS、SPF、Domainkeys 等都参与了这一决定。我认为 MX 记录不会被考虑在内。这完全取决于收件人的邮件服务器,您只能遵循邮件服务器的最佳实践。

相反,我建议通过专用邮件服务器转发所有这些外发邮件。确保单个邮件服务器的良好声誉要容易得多,尤其是当您拥有多个无法完全控制的网络服务器时。

如果您可以控制 Web 服务器上的邮件软件,则应将其设置为通过您自己的邮件服务器进行中继。不要忘记配置您自己的邮件服务器以允许从这些 Web 服务器 IP 进行中继。如果您无法控制邮件软件,则可以配置 PHP 的 mail() 命令以将邮件直接提交到您的邮件服务器。

您还可以使用专门用于此类交易邮件的服务。他们将为您处理声誉、退回、黑名单等问题。电子邮件投递是一项艰苦的工作,有些公司专门从事这项工作。他们为您提供多种选择,例如 SMTP 中继或直接从 PHP 发送的 API,具有高级投递跟踪、取消订阅支持等。

sendgrid.com是我们使用的,但其他流行的是postmarkapp.com或者authsmtp.com。Rackspace 提供免费的 SendGrid 帐户,每月最多可发送 40,000 封电子邮件。Amazon 为其托管客户提供了简单电子邮件服务,并提供免费套餐。询问您的托管提供商是否提供 smtp 中继,或者他们是否与其中一家公司有特别优惠。

相关内容