在通用 SMTP 服务器上为外发电子邮件设置 DKIM DNS 记录和 DKIM SMTP 标头

在通用 SMTP 服务器上为外发电子邮件设置 DKIM DNS 记录和 DKIM SMTP 标头

我想为运行在 Ubuntu 上的论坛服务器的外发电子邮件设置 DKIM 记录,但需要弄清楚如何操作。这是一个非标准服务器(例如不是 Postfix、不是 SendMail、不是 Exchange、不是 cPanel 设置、不涉及 PHP、不是 WordPress)。特别是,我没有使用 Ubuntu 的电子邮件系统。我在自己的论坛软件中使用 SMTP 服务器。

我可以修改服务器代码以根据需要添加额外的电子邮件标头,但无法找出搜索所需的所有内容。

从我在这里和那里读到的内容来看,我知道我需要一个公钥和一个私钥,但有些细节我不明白。

  1. 我使用在 Google 搜索中找到的密钥生成器为域生成 DKIM 公钥和私钥。使用哪个密钥生成器获取公钥和私钥有关系吗?
  2. 我需要在外发邮件标头中添加 DKIM 标头。我可以向外发邮件添加标头,但我不知道此标头的格式。
  3. 我需要向 DNS 添加至少一个 TXT 记录,但我不知道 DKIM 记录的格式。在这种情况下,子域将发送电子邮件。
  4. 我认为,但不确定,我需要在服务器上的某个地方将公钥或私钥可读,以便进行验证。是这样吗?这部分对我来说完全不清楚。

有人能回答这些问题吗?我相信如果我理解了通用部分是什么,我就可以将它们组合在一起,除非需要专门的软件来管理 DKIM 记录。

答案1

要实现 DKIM,您需要以下组件:

  1. 对您签署消息的软件(特定于您的特定邮件传输代理)
  2. 本软件中配置的私钥(可以用任何可用的工具与公钥一起生成)
  3. 按照 DKIM 语法将公钥添加到您的公共 DNS

您的 MTA 使用私钥对邮件进行签名,该私钥必须受到保护,以免外部访问。接收客户端使用您在 DNS 中发布的公钥检查签名的有效性。

请参阅本文。尽管它针对的是 Exchange 环境,但它非常详细地解释了 DKIM 和 DMARC 的基础知识(您可能也需要这个!)。

TechNet:本地 Exchange:DKIM 和 DMARC 设置

这是一个与 Exchange 配合进行签名的示例软件

相关内容