自建 Mail System 的難度

Hacker News 上的「Ask HN: Is it possible to run your own mail server for personal use?」這篇道出了現在自建 mail system 的難度。作者遇到信件常常被各大 mail 服務歸類成 spam:

The problem is making sure my mail is not marked as spam by the major MTAs out there, gmail and hotmail both mark my mails as spam.

整理一下現在自己建 mail system 要做到哪些事情:

  • 確認 IP (包括 IPv4/IPv6) 沒有列入任何 Open Relay 清單中。
  • 確認 IP 的反解可以查出對應的正解。
  • 確認 SPF 設定。
  • 確認送出去的信件有 DKIM 簽名,而且 DNS 也有設上對應的設定。
  • 確認 TLS 的發送與接收都正常。
  • 確認 DMARC 機制正確運作。

如同「Exercising Software Freedom in the Global Email System」這邊講的,現在要自己搞 mail system 超累...

AWS SES 支援 DKIM

DKIM 全名 DomainKeys Identified Mail,是透過數位簽名技術確保 E-mail 的寄件人不是被偽造的,對於防止透過電子郵件網路釣魚是個還蠻有效的技術。

本來透過 AWS SES 寄信,要自己處理 DKIM 簽名的部份,不過今天 AWS 宣佈這項功能內建進 AWS SES:「Simple Email Service - Easy DomainKeys Identified Mail (DKIM) Support」。

於是,現在用 AWS SES 的人要 DKIM 只要把 SES 提供的 DNS record 設上去就可以了,比起之前自己得在 Sendmail 或是 Postfix 上弄一堆東西方便不少。