所以 SPF + DKIM 已經是必要的設定
環境 CentOS + Postfix,文中的域名均以 yourdomain.com 作為範例
安裝所需套件
yum -y install pypolicyd-spf opendkim
在你的域名的 DNS 設定加一筆 TXT 指到 "v=spf1 a mx ~all"
這個設定已經可以符合大部份的狀況,若需要進階的設定,可以搜尋 SPF record generator
產生 DKIM Key
opendkim-genkey -t -b 2048 -d yourdomain.com
執行完後,會在產生兩個檔
default.private 私鑰
default.txt 需設定到域名 TXT 的資訊
把這兩個檔搬到 /etc/opendkim/keys 目錄
mv default.private default.txt /etc/opendkim/keys
在域名的 DNS 設定,新增一筆 default._domainkey TXT 內容是上面那個 default.txt 括號裡面的內容
編輯 /etc/opendkim.conf
Mode sv
Uncomment 這幾行
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
編輯 /etc/opendkim/KeyTable
default._domainkey.yourdomain.com yourdomain.com:default:/etc/opendkim/keys/default.private
編輯 /etc/opendkim/SigningTable
*@yourdomain.com default._domainkey.yourdomain.com
編輯 /etc/opendkim/TrustedHosts 預設的 localhost IPv4、IPv6 需保留,再填上主機的 Public IP 及 Hostname
127.0.0.1
::1
Your_Public_IP
yourdomain.com
::1
Your_Public_IP
yourdomain.com
建立 policyd-spf user
useradd policyd-spf -s /bin/false
最後調整 postfix 設定
/etc/postfix/master.cf 加入
policyd-spf unix - n n - 0 spawn
user=policyd-spf argv=/usr/libexec/postfix/policyd-spf
user=policyd-spf argv=/usr/libexec/postfix/policyd-spf
/etc/postfix/main.cf 加入
policyd-spf_time_limit = 3600
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:private/policyd-spf
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:private/policyd-spf
# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_protocol = 6
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
寄一封測試信到 Gmail,若沒有問題的話,收件方的 Mail 可以看到類似以下 Header
Authentication-Results: yourdomain.com;
dkim=pass (2048-bit key) header.d=yourdomain.com header.i=@yourdomain.com header.b="WsyNs1qw"
spf=pass (google.com: domain of root@yourdomain.com designates 167.xx.xx.xx as permitted sender) smtp.mailfrom=root@yourdomain.com
Received-SPF: pass
DKIM-Filter: OpenDKIM Filter
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yourdomain.com;
1 則留言:
感謝 您的分享, 對我產生莫大幫助!
張貼留言