我有一个现成的PHP应用程序,它使用msmtp来发送邮件。我的一些用户是另一个external_organization.com的一部分,他们需要从我的php应用程序发送电子邮件作为他们的external_Organization.com电子邮件地址。有些需要作为mycompany.com 发送
在大多数情况下,这一切都很好,直到现在。。。
external_organization最近建立了DKIM,并告诉我我需要给他们一把钥匙,并以他们的身份签署发送的电子邮件,否则他们很快就会停止工作。我在互联网上搜索了三次,但我不知道如何做到这一点。
我能得到一些指点吗?
我想我需要配置msmtp,而不是PHPMailer?我真的不确定。
这个问题更适合ServerFault,因为它是服务器配置问题,而不是编程问题。
将邮件服务器配置为进行签名肯定比PHPMailer更好、更快,但您需要通过某种方式指定要使用的选择器进行签名(假设您想要使用多个选择器(。大多数支持DKIM的邮件服务器都允许您通过一个特殊命名的头来完成这项工作,但您需要参考上面的文档
最简单的配置方法是使用您自己的私钥进行签名,并让外部组织将您的公钥放在他们的DNS中的选择器下的TXT
记录中,例如yourservice._domainkey.external-org.example.com
中
或者,他们可以在其DNS中为您的服务设置CNAME
,然后您可以控制DNS中的公钥。类似external-org.yourservice.example.com
。
无论哪种方式,无论在哪里进行签名都需要访问私钥,并且域和选择器需要指向DNS中的公钥。
小提示:说";我已经搜索了三次所有的互联网";不太可能给人留下好印象。有无数关于如何使用DKIM的文章,他们都会说基本上相同的事情,因为是相同的事情。