以下を参考にしながら Terraform 公式のリソース解説と反復横跳びして確認した。
以下、作業していてつまづいた、注意しておくところ。
SPF 周り
mail_from_domain
は必ずサブドメイン指定が必要 (以下 domain
に指定しているのはネイキッドドメインなので、公式のサンプル記述のように bounce.
サブドメインをつけておくのが丸そう)
# SPF resource "aws_ses_domain_mail_from" "spf" { domain = var.domain_name # MAIL FROM アドレスとして使用するサブドメイン (上記ドメインの) (DMARC 検証に必要) mail_from_domain = "bounce.${var.domain_name}" }
DMARC 周り
レコード内に記述する mailto:
は、登録時点で受信先がなくても大丈夫そう。 とりあえず作るだけ作っておいて、あとから S3 に受信だけできるようにするか、管理用に rainloop などで管理用の画面用意、とかのほうがいいかもしれない。
# SES: DMARC ドメイン用レコード登録 resource "aws_route53_record" "dmarc" { zone_id = data.aws_route53_zone.default_zone.zone_id name = "_dmarc.${var.domain_name}" type = "TXT" ttl = "60" records = [ "v=DMARC1;p=quarantine;pct=25;rua=mailto:dmarcreports@${var.domain_name}" ] }