DKIM + EXIM + Dovecot 用于外发电子邮件
DKIM + EXIM + Dovecot for outgoing emails
我是 运行 exim+dovecot。我尝试使用 opendkim 生成 dkim 密钥,但结果是我的 dkim 无效。我应该用 openssl 还是用 opendkim 签署 DKIM 签名?
使用 exim 为外发电子邮件正确设置 dkim 的正确步骤是什么?
exim.conf 中的正确设置是什么?
DKIM 根本不需要签名。您所需要的只是一对合适的 RSA/DSA 密钥,它们可以由 ssh-keygen
与预安装的 openssh
捆绑在一起生成。将密码留空:
> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): mydomain.tld
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in mydomain.tld.
Your public key has been saved in mydomain.tld.pub.
The key fingerprint is:
SHA256:CD0n/Ut/GQgjYgKwONoj7FGXUJvdgyJt4FFczGZfqoE root@xx.yy.zz
The key's randomart image is:
+---[RSA 2048]----+
|...++o+. |
|....=o=*o . |
|+ +oOXo=o= |
|oo. +E.B =.o . |
|ooo . S o . . |
|.... . . o o |
| . . . o |
| . |
| |
+----[SHA256]-----+
现在我们有两个文件:mydomain.tld
和 mydomain.tld.pub
。第二个文件包含一长行,其中第二个字段(标记为粗体斜体)是您必须放入域的区域记录中的 public 键。
ssh-rsa AAAAB3NzaC1yc.....9akAq8YqPJN root@xx.yy.zz
第一个文件已准备好供 MTA 使用。只需将其重命名为 mydomain.tld.key
并将其复制到安全位置并从 MTA 配置中引用它。请记住,MTA 通常要求私有 DKIM 密钥只能由 MTA 用户读取,因此权限应设置为 600 而不是通常的 644。
许多 howtos 中都很好地描述了 DNS 配置。 exim
应该这样配置:
begin transports
xmit:
driver = smtp
dkim_domain = mydomain.tld
dkim_selector = mydomaintld
dkim_private_key = /path/to/the/mydomain.tld.key
. . . . .