自ドメインをメールサーバー無しで送受信するためのアーキ
登場人物
Gmail
カスタムドメイン宛メールの受信メールボックスおよび、SMTPクライアントとしてimprovmx
カスタムドメイン宛メールをGmail転送するためのMXサーバーとしてSES
カスタムドメインでメール送信するためのSMTPサーバーとして(GMailでもよい)Route53
カスタムドメインのDNSとして
→ GoogleWorkspaceは使わない。一般アカウント。
カスタムドメインから受信
Gmail
カスタムドメイン宛メールの受信メールボックスとして
- 受信専用であれば追加設定は不要。
Improvmx
カスタムドメインのMXサーバーとして
- Improvmxは転送専用であり、メールボックス実態は存在しない。転送先メアドのエイリアスとして利用する。
- SMTP機能は有料オプションなので使わない。
カスタムドメインと転送先メアドを設定して登録開始
転送先メアドで認証プロセスを終えると、ひとまずドメイン未検証の状態でダッシュボードがオープンし、転送ルールと、MX・SPFレコードが払い出される。
上記、SETTINGS > DNS settingsに表示されるるMX・SPFレコードをDNSに登録後、DNS検証が完了するとセッティングがアクティベートされる。 ※なお、SMTPは使わないんだけど、アクティベートにはSPF(TXT)レコードの定義も必須。
- Email forwarding activeになったら
TEST
で検証メールを送信させて、無事にGmailメールボックスに届いたら完了。
カスタムドメインから送信
Gmail
SMTPクライアントとして
1. プロフィールとSMTPサーバーを追加する
Gmailアカウントに以下の設定を組んだら、カスタムドメインをFROMアドレスとして利用可能となる。
- カスタムドメインのFROM送信者名とメアド
- SMTPサーバ
Gmail > 設定 > アカウントとインポート > 名前 | 他のメールアドレスを追加
を開いて、カスタムドメインの送信者名とメアドを指定する。 ここに追加したメールアドレスはGASのMailAppでもメールFROMとして利用可能となる
2. SMTPサーバーの指定
SMTPサーバーとしてGmailとSESを比較
最も手軽なのは検索でよく出てくる自GmailアカウントのSMTPを利用する方法。 カスタムドメインの名前&メアドをFROMにしつつ、SMTPはGmailドメインで送信者認証もサポートしてくれるのでカジュアルな送信基盤としては問題はなさそう。
一方、SESをSMTPにする場合は、カスタムメールFROM機能でカスタムドメイン(サブドメイン)から送信されるため、
GmailではエンベロープFROMヘッダにGmailメアドが露出するのに対して、SESはカスタムドメイン(サブドメイン)となる。
(厳密にはGmailの追加ヘッダX-Gmail-Original-Message-ID
など付記される。)
その他にも、送信クウォータとかレピュテーション要件などそれぞれ要件が異なるため、適宜選択というイメージ。今回はSESで構築する。
SMTPサーバーにGMailを使う場合
FROM(表示名)=
mail@domain.to.path
エンベロープFROM(実際送信元)={アカウント}@gmail.com
- カスタムドメインをメールFROMにして、GmailアカウントのSMTPから送信者認証つきで送信できる。
- もっとも簡単だけど、ヘッダのエンベロープFROMにGmailアドレスが受信者に露出する。
注意事項としては、SMTPサーバーのパスワードはGoogleアカウントのパスワードではなく、アプリパスワードだ。 アプリパスワードの発行のためにはアカウントに二段階認証プロセスの設定が必要。
SMTPサーバーにSESを使う場合
FROM(表示名)=
mail@domain.to.path
エンベロープFROM(実際送信者)=XXXXXXXXXXXXXXXX-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX-XXXXXX@mail.domain.to.path
- カスタムメールFROMで指定したサブドメイン(
mail.domain.to.path
)から送信者認証つきで送信できる。 - カスタムメールFROMのセッティングは必要だけど、Gmailアドレスが受信者に露出することはない。
SESでは以下、設定済のこと
- カスタムドメインのID検証、SPF、DKIM、DMARCレコード
- サンドボックス解除
- SMTP設定
送信テスト
カスタムドメインからメールを送信し、SPF、DKIM認証をパスできているか確認する。 テスターmail-tester.comを使うと、問題点をリスト化してくれるのでさらに捗る。
0 Comments:
新しいコメントは書き込めません。