Email 相關的設定筆記,下參數的原因
MX record
寄件伺服器查詢收件人的網域名要寄到哪台收件伺服器
kuni93.moe. 43200 IN MX 10 in1-smtp.messagingengine.com.
kuni93.moe. 43200 IN MX 20 in2-smtp.messagingengine.com.
- TTL: 不會頻繁變動,設定 12 小時,當有變更計畫時應提前縮短 TTL 再變更
- Type: 就 MX
- Priority: 有 10, 20 兩台,數字小的優先,通常為了 High availability 會有複數伺服器
- Value: 使用 Fastmail 收件,所以指向 他們提供 的伺服器
SPF record
收件伺服器依照 smtp.MailFrom 的網域名查詢 SPF record,驗證 Email 寄件伺服器 IP 是否在清單中
kuni93.moe. 43200 IN TXT "v=spf1 include:spf.messagingengine.com -all"
*.kuni93.moe. 43200 IN TXT "v=spf1 -all"
- TTL: 不會 頻繁變動,設定 12 小時,當有變更計畫時應提前縮短 TTL 再變更
- Type: 使用 TXT,透過 Value 開頭的
v=spf1來識別,注意不要把其他 TXT type record (e.g. google-site-verification) 混在同一筆 - Value:
include:表示引入該網域名的 SPF record,使用 Fastmail 寄件,所以引入 他們提供 的 SPF record- 最後加上
-all表示除前項之外其餘全部 (all) 不予通過驗證 (-) - 不會用子網域寄件,所以都加上
v=spf1 -all即沒有任何 IP 可以通過驗證,防止鑽漏洞
DKIM record
收件伺服器依照網域名 + Selector 查詢公鑰,用於解密、驗證 Email 標頭上數位簽章的來源及完整性
fm1._domainkey.kuni93.moe. 43200 IN CNAME fm1.kuni93.moe.dkim.fmhosted.com.
fm2._domainkey.kuni93.moe. 43200 IN CNAME fm2.kuni93.moe.dkim.fmhosted.com.
fm3._domainkey.kuni93.moe. 43200 IN CNAME fm3.kuni93.moe.dkim.fmhosted.com.
長話短說,照 Email provider 給的設定就好。
DKIM 公鑰發布在 <selector>._domainkey.<domainname> record 上,讓收件伺服器查詢。使用 Fastmail 寄件,所以引入 他們提供 的 DKIM record
DMARC record
收件伺服器依照 DMARC record 上的規則,對 SPF, DKIM 驗證結果照你指定的方式處理 Email
_dmarc.kuni93.moe. 43200 IN TXT "v=DMARC1; p=reject; sp=reject; pct=100; aspf=s; adkim=s; fo=1; ruf=mailto:postmaster@kuni93.moe; rua=mailto:postmaster@kuni93.moe,mailto:c67b0bf7e7984a10946473a559cddf51@dmarc-reports.cloudflare.net"
DMARC record 放在 _dmarc.<domainname> 讓收件伺服器查詢。若有子網域可以單獨設定在 _dmarc.<subdomain>.<domainname> 若未設定則會往上一層 (也就是回到 _dmarc.<domainname>) 找
只要 SPF alignment 或 DKIM alignment 任一驗證結果通過,即 DAMRC alignment 通過
- TTL: 不會頻繁變動,設定 12 小時,當有變更計畫時應提前縮短 TTL 再變更
- Type: 使用 TXT,透過 Value 開頭的
v=DMARC1來識別,除此之外_dmarc.<domainname>盡量不要有其他 DNS record - Value:
p=reject退件未通過驗證的 Emailsp=reject子網域退件未通過驗證的 Emailpct=100全部 (100%) Email 都套用 DMARC 規則aspf=s嚴格檢查 Emailsmtp.MailFrom與header.From要完全相同adkim=s嚴格檢查 Email DKIM signatured=與header.From要完全相同fo=1當 SPF、DKIM、DAMRC alignment 任一失敗發生時傳送失敗報告ruf=...收失敗報告的信箱,但不是每個收件伺服器都會傳送失敗報告rua=...收彙整報告的信箱,大多收件伺服器都會寄彙整報告,這裡除了自己的信箱也會另寄一份到第三方服務 Cloudflare