PHPMailer和DKIM,带有经过身份验证的SMTP服务器的SPF验证

时间:2020-06-09 16:39:35

标签: email smtp phpmailer spf

我有一个带有电子邮件通知的Web应用程序。 我正在使用PHPMailer通过我的提供商提供的SMTP服务器通过经过身份验证的SMTP发送邮件。

由于SPF和DKIM设置使所有消息无效,因为不知何故我的Web服务器将包含在SPF列表中,并且PHPMailer必须对该消息进行签名。

有什么方法可以让SMTP服务器封装并为我签名电子邮件吗? 我要通过一个经过身份验证的SMTP连接,将第一个服务器定义为被包围的服务器,而不是第一个客户端。这是错误的密码还是SMTP服务器的配置错误?

1 个答案:

答案 0 :(得分:1)

您的邮件服务器是否将为您进行DKIM签名取决于邮件服务器–通常最好这样做,因为您不必担心。

但是,如果可以的话,最好亲自签名。如果您通过托管服务提供商的邮件服务器发送邮件,则他们将需要有权访问您的私钥才能签名为您的域。因此,如果他们进行签名,通常是作为中介而不是原始发件人,这可能意味着他们无法保证您需要签名才能通过DMARC检查的From地址。您可以一次执行全部操作,因为一条消息包含多个DKIM签名是完全合法的,这些签名是由消息的不同方在消息行进的不同点进行签名的。

SPF确实包含原始IP,但是您需要了解“常规” SMTP和RFC6409中定义的SMTP提交协议之间的区别,并特别提到您可能希望提交服务器到达{{ 3}}。从SPF角度来看,提交的客户通常被视为来源。如果该服务器位于您自己的网络中,则持有私钥没有任何问题。