SPF
AレコードやMXレコードで指定する方法
example.jp. IN TXT "v=spf1 a:mail.example.jp ~all"
example.jp. IN TXT "v=spf1 mx ~all"
IPアドレスで指定する方法
example.jp. IN TXT "v=spf1 ip4:192.168.100.3 ~all"
IPアドレスが「192.168.100.0/24」に該当するメールサーバー
example.jp. IN TXT "v=spf1 +ip4:192.168.100.0/24 ~all"
kagoya.netのSPFレコードに記載されたメールサーバー
example.jp. IN TXT "v=spf1 include:kagoya.net ~all"
1つのドメインに複数のSPFレコードを登録する方法
example.jp. IN TXT "v=spf1 +ip4:192.168.10.0/24 +ip4:10.1.2.0/24 ~all"
- 「~all」:送信元メールアドレスは詐称されている可能性がある
- 「-all」:送信元メールアドレスは詐称されている
メールは様々なメールサーバーから配送される可能性があります。(メールマガジンのみ、外部のメールサーバーを利用するなど)そういった例外なく、必ずSPFレコードで指定されたメールサーバーからしか該当ドメインを送信元とするメールが送られないのであれば、「-all」を指定します。
一方、その他のメールサーバーからも送信される可能性があるなら、「~all」で指定しましょう。一般的には、「~all」が選ばれる例の方が多いです。
DKIM
インストール
apt install opendkim opendkim-tools
opendkim設定
mkdir /etc/postfix/dkim/
# -d ドメイン -s セレクタ
opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail
chgrp opendkim /etc/postfix/dkim/*
chmod g+r /etc/postfix/dkim/*
/etc/opendkim.conf
Syslog yes
SyslogSuccess yes
LogWhy yes
Canonicalization relaxed/relaxed
Mode sv
OversignHeaders From
KeyTable file:/etc/postfix/dkim/keytable
SigningTable file:/etc/postfix/dkim/signingtable
UserID opendkim
UMask 007
PidFile /run/opendkim/opendkim.pid
TrustAnchorFile /usr/share/dns/root.key
/etc/postfix/dkim/keytable
mail._domainkey.example.net example.net:mail:/etc/postfix/dkim/mail.private
/etc/postfix/dkim/signingtable
example.net mail._domainkey.example.net
反映
sudo systemctl restart opendkim
/etc/postfix/main.cf
milter_default_action = tempfail
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
/etc/postfix/dkim/mail.txtの設定をDNSのtxtレコードに追加する。
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIB..."
"...." ) ; ----- DKIM key mail for example.net
チェック
opendkim-testkey -d example.com -s mail -vvv
DMARC
_dmarc.example.com TXT 360 "v=DMARC1;p=none;rua=mailto:admin@example.com;ruf=mailto:admin@example.com;rf=afrf;pct=100"