我按照这个邮政 这是我的 postfix main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = 2mm.biz
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = 2mm.biz, 2mm.compute-1.internal, localhost.compute-1.internal, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 54.243.206.201/32
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
luser_relay = ubuntu@localhost
local_recipient_maps =
virtual_alias_domains = 2mm.biz
virtual_alias_maps = hash:/etc/postfix/virtual
#added below for DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters=inet:localhost:8891
non_smtpd_milters=inet:localhost:8891
#EOF
这是我的 opendkim.conf
Syslog yes
LogWhy yes
UMask 022
UserID opendkim:opendkim
Domain 2mm.biz
KeyFile /etc/opendkim/20121002.private
Selector 20121002
Canonicalization relaxed/simple
Mode sv
#SubDomains no
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
Socket inet:8891@localhost
我只使用一个域名,所以我将 SubDomains 注释掉。当我使用 http://www.brandonchecketts.com/emailtest.php它说没有域密钥或 DKIM 签名。我用我的公钥更新了我的 DNS。这是在亚马逊 EC2 64 位 Ubuntu 微型实例上。我使用 sendmail 命令来测试签名。
我很确定还能在哪里找到解决方案。有什么想法吗?
答案1
我找到了自己的答案。/var/log/mail.log 中的消息有助于追踪错误所在。我对 Linux 还不熟悉,这是一个艰难的教训。
我的问题是在 opendkim.conf 中我指定了以下设置:
- 多米安
- 密钥文件
- 选择器
并且
- 键表
- 签名表
我删除了表格,并且我的域中的所有电子邮件都已签名。那是在我重新启动 opendkim 和 postfix 之后。