由于我已安装并配置了域,因此未添加邮件标头中的签名

由于我已安装并配置了域,因此未添加邮件标头中的签名

我已经登记入住http://dkimcore.org/c/keycheck我的网站有 的有效 TXT 记录DKIM。我的域名是myDomain.com,我的选择器是mail

在此处输入图片描述

我曾经-t告诉服务器忽略错误,不要将其丢弃在标头中。(如果我有任何错误,请告知)

TXT记录也已添加并正在运行。(该记录已在dkimcore网站上)。

现在,当我的域名发送电子邮件时,邮件头中没有签名。

我用来生成的命令mail.txt如下:

opendkim-genkey -t -s mail -d myDomain.com

opendkim.conf文件有此行并且dkim.key存在:

KeyFile                 /etc/mail/dkim.key

mail.private我应该把上面解释的命令生成的放在哪里?

我删除了-t生成,现在电子邮件根本就发送不出去。错误日志显示:

dkim_eom(): resource unavailable: d2i_PrivateKey_bio() failed

编辑:

d2i_PrivateKey_bio() failed已解决。生成密钥时其权限如下:

4 -rw-r--r--  1 root root  312 Feb  6 12:43 dkim.key
4 -rw-r--r--  1 root root  887 Feb  6 12:43 mail.private

我已将两个密钥添加到opendkim组中,因为该用户正在运行其服务。奇怪的是,当您通过opendkim-genkey权限生成密钥时,权限处理不正确。无论如何,我又遇到了上一个错误。我收到错误:

connect to Milter service inet:localhost:8891: Connection refused

这是 postfix 和 openDKIM 等文件夹的权限问题吗?

当我更改权限时,我无法重新启动opendkim服务,并且服务失败,因此我将权限更改为其第一个状态。现在我收到第一个错误。

编辑2:

Postfix配置:

# DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

openDKIM配置在/etc/default/opendkim

SOCKET="inet:8891@localhost" # listen on loopback on port 8891

/etc/opendkim.conf

Domain                  Mydomain.com
KeyFile                 /etc/mail/dkim.key
Selector                mail

这是我当前收到的错误:

SSL error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag; error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error; error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag; error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error; error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib; error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag; error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
dkim_eom(): resource unavailable: d2i_PrivateKey_bio() failed

域名的反向 DNS 显示:

4 hours PTR *-*-*-*.nrp.co
Authoritative Nameservers
ns1.nrp.co
ns2.nrp.co
ns3.nrp.co

ServFail Response: ns2.nrp.co  
Authoritative Nameservers
ns1.nrp.co
ns3.nrp.co
ns2.nrp.co

答案1

答案是我使用公钥KeyFile代替PrivateKey

KeyFile                 /etc/mail/dkim.key

变成:

KeyFile                 /etc/mail/dkim.private

问题解决了,但签名未显示在 Google 端。此端一切似乎都正常,DKIM没有错误日志。mail.err

我甚至深入TXT研究了是否DKIM存在:

dig mail._domainkey.myDomain.com TXT

; <<>> DiG 9.8.3-P1 <<>> mail._domainkey.myDomain.com TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5849
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 6

;; QUESTION SECTION:
;mail._domainkey.myDomain.com.  IN  TXT

;; ANSWER SECTION:
mail._domainkey.myDomain.com. 28800 IN  TXT "v=DKIM1\; k=rsa\; t=y\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHZPuhZKOmy4c9pA7jhYHOLIV4a0RNcBbX7NYJ04hVAj1Dm241YL9+cmhSeggt8OaJVuJKlmmFYUiCuj9UUAc7dgiqBsy+2Tvct+/FFrEhlL8lP9AtISCKkKmBTDBQ/2A6flSokQGr6CwGdLnjQXjp9JepxFjmu+J834RYCnIM1wIDAQAB

答案2

您是否设置了域名的反向 DNS?您是否sender在电子邮件中发送了标头?在我看来,这两项是必需的。

相关内容