我想为运行在 Ubuntu 上的论坛服务器的外发电子邮件设置 DKIM 记录,但需要弄清楚如何操作。这是一个非标准服务器(例如不是 Postfix、不是 SendMail、不是 Exchange、不是 cPanel 设置、不涉及 PHP、不是 WordPress)。特别是,我没有使用 Ubuntu 的电子邮件系统。我在自己的论坛软件中使用 SMTP 服务器。
我可以修改服务器代码以根据需要添加额外的电子邮件标头,但无法找出搜索所需的所有内容。
从我在这里和那里读到的内容来看,我知道我需要一个公钥和一个私钥,但有些细节我不明白。
- 我使用在 Google 搜索中找到的密钥生成器为域生成 DKIM 公钥和私钥。使用哪个密钥生成器获取公钥和私钥有关系吗?
- 我需要在外发邮件标头中添加 DKIM 标头。我可以向外发邮件添加标头,但我不知道此标头的格式。
- 我需要向 DNS 添加至少一个 TXT 记录,但我不知道 DKIM 记录的格式。在这种情况下,子域将发送电子邮件。
- 我认为,但不确定,我需要在服务器上的某个地方将公钥或私钥可读,以便进行验证。是这样吗?这部分对我来说完全不清楚。
有人能回答这些问题吗?我相信如果我理解了通用部分是什么,我就可以将它们组合在一起,除非需要专门的软件来管理 DKIM 记录。
答案1
要实现 DKIM,您需要以下组件:
- 对您签署消息的软件(特定于您的特定邮件传输代理)
- 本软件中配置的私钥(可以用任何可用的工具与公钥一起生成)
- 按照 DKIM 语法将公钥添加到您的公共 DNS
您的 MTA 使用私钥对邮件进行签名,该私钥必须受到保护,以免外部访问。接收客户端使用您在 DNS 中发布的公钥检查签名的有效性。
请参阅本文。尽管它针对的是 Exchange 环境,但它非常详细地解释了 DKIM 和 DMARC 的基础知识(您可能也需要这个!)。