Cloudflare Email Routing で独自ドメインメールを無料運用する
独自ドメイン ota2000.com のメールアドレスを、追加コストなしで Gmail から送受信できるようにした。
受信: Cloudflare Email Routing
Cloudflare Email Routing は無料のメール転送サービス。
ota2000@ota2000.com → yas.arakaki+ota2000@gmail.com
設定は MX レコードを Cloudflare のサーバーに向けるだけ。Terraform で書くとこうなる。
resource "cloudflare_email_routing_rule" "ota2000" {
zone_id = var.zone_id
name = "ota2000@ota2000.com -> Gmail"
enabled = true
matchers = [{ type = "literal", field = "to", value = "ota2000@ota2000.com" }]
actions = [{ type = "forward", value = ["yas.arakaki+ota2000@gmail.com"] }]
}
送信: Resend + Gmail
受信は Cloudflare で転送できるが、送信には別の SMTP サーバーが要る。自分は Resend を使っている。
- Resend でドメインを追加し、DKIM・SPF レコードを設定
- Gmail の「アカウントとインポート」から「他のメールアドレスを追加」
- SMTP サーバーに
smtp.resend.comを指定
これで Gmail から ota2000@ota2000.com として送信できる。
DNS レコード
メール関連で必要な DNS レコードは意外と多い。
- MX: Cloudflare Email Routing 用 x 3
- SPF:
v=spf1 include:_spf.mx.cloudflare.net ~all - DMARC:
v=DMARC1; p=none; ... - DKIM: Cloudflare 用 + Resend 用
Terraform で管理しておくと、各レコードが何のために存在するかコード上で分かる。
コスト
全部無料。Cloudflare Email Routing は無料、Resend も月 3,000 通まで無料枠がある。個人利用なら十分。