現在正常運行的mail.a.ren測試域名配置記錄:
postfix 是smtp服務器:發送郵件服務器
dovecot是imap/pop3服務器:接收郵件服務器
amavisd是提供反垃圾和反病毒功能。
沒有配置spf的時候發現發信給189郵箱,被退信: spf 550 5.7.1
沒有配置DKIM的時候發現給我們在線的郵箱mail.b.com發的信會被標上[spam]
明顯是被標記為“垃圾郵件”了
下面來看SPF和DKIM的具體配置方法:
因為安裝iredmail的時候安裝的域名是mail.b.com ,而我們現在用的域名是mail.al.ren所以,首先要將/etc/dovecot/dovecot.conf和/etc/postfix/main.conf中的mx.b.com和mail.b.com全部相應替換成mx.a.ren和mail.a.ren(注意:這一步很有必要,必須的做,不然會影響結果,實測!)


接下來配置DKIM
打開/etc/amavisd.conf
1.找到$mydomain = "mail.b.com";注釋掉,新增一條:$mydomain = "mail.a.ren";
2.找到$myhostname = "mail.b.com";注釋掉,新增一條:$myhostname = "mail.a.ren";
3.為新域名生成秘鑰:
amavisd -c /etc/amavisd/amavisd.conf genrsa /var/lib/dkim/a.ren.pem
即將秘鑰生成到了/var/lib/dkim/a.ren.pem這個位置
4.在/etc/amavisd.conf找到:dkim_key("b.com", "dkim", "/var/lib/dkim/b.com.pem");注釋掉,然后新增一條:dkim_key("a.ren", "dkim", "/var/lib/dkim/a.ren.pem");
5.找到@dkim_signature_options_bysender_maps在括號里面注釋掉與b.com相關的記錄,然后新增一條:"a.ren" => { d => "a.ren", a => 'rsa-sha256', ttl => 10*24*3600 },

5.重啟amavisd服務 service amavisd restart
6.在終端輸入amavisd showkeys 查看秘鑰

把v=DKIM1往后的COPY出來,去掉引號和空格和括號,整理為下面的樣子:

7.到DNS解析處添加DKIM記錄

注意,類型為:TXT 主機記錄為:dkim._domainkey
8.保存后過一會就生效了。
9.驗證看看DKIM是否生效
終端輸入:amavisd testkeys 看到如下結果表示成功

若顯示invalide .....表示未成功。需檢查dkim記錄是否出錯(特別注意:主機記錄為:dkim._domainkey)
下面配置SPF
在阿里雲的DNS解析里面新增一條記錄:

類型:TXT 主機記錄為:@ 記錄值為:v=spf1 ip4:**.**.**.** ~all
注意:這里的IP 為我們的發送服務器的地址 ~all 表示弱匹配
關於測試:
發現了一個測試工具,配置好SPF和DKIM 后,向這個網址http://dkimvalidator.com/隨機生成的郵箱地址發送一封郵件,等待兩分鍾后,點擊查看結果,即可幫你分析SPF和DKIM 的配置結果,以及是否被郵件運營商視為垃圾郵件(SPAM)

結果頁如下:


