0

我有一个现成的 PHP 应用程序,它使用 msmtp 进行邮件发送。我的一些用户是另一个 external_organisation 的一部分,他们需要从我的 php 应用程序发送电子邮件作为他们的 external_organisation.com 电子邮件地址。有些需要发送为 mycompany.com

在大多数情况下,这一切都很好,直到现在......

external_organisation 最近设置了 DKIM,并告诉我我需要给他们一个密钥并签署他们发送的电子邮件,否则他们将很快停止工作。我已经在互联网上搜索了三遍,但我无法弄清楚如何做到这一点。

我可以请一些指点吗?

我假设我需要配置 msmtp,而不是 PHPMailer ?我真的不确定。

4

1 回答 1

1

这个问题更适合 ServerFault,因为它是一个服务器配置问题,而不是一个编程问题。

将邮件服务器配置为进行签名而不是 PHPMailer 肯定会更好更快,但是您需要某种方式来指定要使用的选择器进行签名(假设您要使用多个)。大多数支持 DKIM 的邮件服务器都允许您通过一个特别命名的标头来执行此操作,但您需要参考他们的文档。

最简单的配置方法是使用您自己的私钥进行签名,并让外部组织将您的公钥放入您的选择器下的记录中DNS 中,例如TXTyourservice._domainkey.external-org.example.com

或者,他们可以在他们的CNAMEDNS 中为您的服务设置一个,然后您可以控制 DNS 中的公钥。类似的东西。external-org.yourservice.example.com

无论哪种方式,无论在哪里进行签名都需要访问私钥,并且域和选择器需要指向 DNS 中的公钥。

小提示:说“我已经在互联网上搜索了 3 次”之类的话不太可能给人留下好印象。有无数关于如何使用 DKIM 的文章,他们都会说基本相同的东西,因为它相同的东西。

于 2020-09-03T09:22:34.443 回答