Gmailの迷惑メール対策が強化! Amazon SESを使用している場合の対応の概説
はじめに
こんにちは。SHIFT DAAE(ダーエ)部の栗山です。
2024年の2月よりGmailの迷惑メール対策が強化されます。ソース:メール送信者のガイドライン(Gmailヘルプ)
Yahooについても同様の対策が始まります。ソース:More Secure, Less Spam: Enforcing Email Standards for a Better Experience
本稿ではAmazon SESを使用している場合に、Gmailへのメール送信者が満たすべき要件について整理し、解説します(以下ではAmazon SESをSESと記載します)。
本稿は「まず最初に読むべき資料」として重要性の高い事項について述べます。
具体的な内容は以下です。
要件について解説
SESのデフォルト状態で設定されているか否か
SESのデフォルト状態で設定されている場合は、そのエビデンス
SESのデフォルト状態で設定されない場合は、対方法の概説
本テーマは情報が膨大となるため、「すべての送信者の要件」を対象に、具体的な設定方法についても参照リンクを紹介するにとどめます。
Gmailへのメール送信者が満たすべき要件の整理
メール送信者が満たすべき要件を以下に整理します。ソースはこちらです。
要件は「すべての送信者が対応が必要なもの」と「1日5000件以上のメールを送信する場合に対応が必要なもの」とに分かれます。そのほとんどの要件が「すべての送信者が対応が必要なもの」であることに注意しましょう。
以下の表では、対応が必要な場合に✅をしています。 SESを使っている場合に、全ての送信者に対応が必要となる要件は以下の3つです(次章で詳しく説明します)
Postmaster Tools で報告される迷惑メール率を 0.10% 未満に維持し、迷惑メール率が決して 0.30% 以上にならないようにする。
Gmail の From: ヘッダーのなりすましはしない
メーリング リストや受信ゲートウェイを使用するなどして、メールを定期的に転送する場合は、送信メールに ARC ヘッダーを追加
すべての送信者が対応が必要なものについて
Postmaster Tools で報告される迷惑メール率を 0.10% 未満に維持し、迷惑メール率が決して 0.30% 以上にならないようにする。
この要件を満たすには、SES側の設定が必要なので注意してください。
Postmaster ToolsはGoogleが提供しているツールで、Gmailに送信されたメールの迷惑メール率を確認することができます。
Postmaster Toolsに登録するドメインは、SPF認証かDKIM認証で検証されたドメインである必要があります。SESでその設定をしていない場合、SPF認証とDKIM認証で検証されるドメインはSESのものになってしまうため、Postmaster Toolsへの登録ができません。
「SPF認証やDKIM認証で検証されるドメイン」を確認するにはメールのヘッダーの「Authentication-Results:」の部分を見ます。
以下は「sample-kuriyama.com」というドメインからメールを送信した場合の例です。
spf=passに続くsmtp.mailfromの値が「ap-northeast-1.amazonses.com」になっています。
dkim=passに続くheader.dの値も「amazonses.com」になっています。
メールヘッダーの値がこのようになっている場合「sample-kuriyama.com」をPostmaster Toolsに登録できないというわけです。
これらの設定をSESで行う場合の参照先を記します。
SESの設定を終えたら、Postmaster Toolsの設定を行います。参照先を以下に記します。
Get started with Postmaster Tools
Gmail の From: ヘッダーのなりすましはしない
これは「Gmailからメールを送信していないにもかかわらず、Gmailからメールが送信されたように見せかけないでください」ということです。
もう少し具体的に言うと、「Gmailからメールを送信していないにもかかわらず、メール送信者のドメインにgmail.comを使用しないでください」ということです。
例えば、SESでメールを送信する場合、実際にメールを送信するのはamazonses.comのサーバーです。この場合に(gmail.comにspfレコードを設定せずに※)メール送信者のドメインをgmail.comに設定するようなケースが該当します。
※実質的にgmail.comにspfレコードを設定するのは不可能だと思いますが。
メーリング リストや受信ゲートウェイを使用するなどして、メールを定期的に転送する場合は、送信メールに ARC ヘッダーを追加
こちらについては、メールを転送する場合のみの設定となるため、本稿の対象外とします。
SESでデフォルトで設定されるもののエビデンス
以下では、SESでデフォルトで設定されるものについて、その参照先(エビデンス)を記します。
ドメインに SPF または DKIM メール認証を設定
SESでメールを送信する場合、SPF認証もDKIM認証も設定されます。
注意点としては、検証されるのはSESのドメインになることです。例えば「sample-kuriyama.com」というドメインからSESを使用してメールを送信する場合、SPF認証とDKIM認証は通るもののDMARC認証が通りません。SPF認証とDKIM認証で検証されるドメインはSESのものになる一方で、メール送信ドメインは「sample-kuriyama.com」となり両者が一致しないためです。
これを解消するためにはSESでカスタムMAIL FROMの設定を行います(本稿ではDMARC認証は対象外とするため、これ以上は触れません)
送信元のドメインまたは IP に、有効な正引きおよび逆引き DNS レコード(PTR レコードとも呼ばれます)があること
これは参照先が見つからなかったため、digコマンドで確かめました。
※メール送信元ドメインのForward DNS設定、Reverse DNS設定がされていることは、メール送信元の確認としては基本的なことなので、あえてドキュメントとしてはないのかもしれません。
では、SESでメールを送信した場合のメールの送信元ドメインに対して以下を確かめます。
ドメインからIPアドレスが引けること(Forward DNS設定がされていること)
IPアドレスからドメインが引けること(Reverse DNS設定がされていること)
以下はSESからメールを送信した場合のヘッダーの例です。メール送信サーバーのドメインが「e234-4.smtp-out.ap-northeast-1.amazonses.com」であることがわかります。
digコマンドでドメインからIPが引けることを確かめます。
$ dig e234-4.smtp-out.ap-northeast-1.amazonses.com
; <<>> DiG 9.16.1-Ubuntu <<>> e234-4.smtp-out.ap-northeast-1.amazonses.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16260
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;e234-4.smtp-out.ap-northeast-1.amazonses.com. IN A
;; ANSWER SECTION:
e234-4.smtp-out.ap-northeast-1.amazonses.com. 0 IN A 23.251.234.4
;; Query time: 0 msec
;; SERVER: 172.24.64.1#53(172.24.64.1)
;; WHEN: Fri Jan 19 16:58:36 JST 2024
;; MSG SIZE rcvd: 122
ANSWER SECTIONを見ると、「e234-4.smtp-out.ap-northeast-1.amazonses.com.」のAレコードに「23.251.234.4」が設定されていることがわかります。
次はIPアドレスからドメインが引けることを確かめます。
$ dig -x 23.251.234.4
; <<>> DiG 9.16.1-Ubuntu <<>> -x 23.251.234.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5913
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;4.234.251.23.in-addr.arpa. IN PTR
;; ANSWER SECTION:
4.234.251.23.in-addr.arpa. 0 IN PTR e234-4.smtp-out.ap-northeast-1.amazonses.com.
;; Query time: 119 msec
;; SERVER: 172.24.64.1#53(172.24.64.1)
;; WHEN: Fri Jan 19 17:06:06 JST 2024
;; MSG SIZE rcvd: 126
ANSWER SECTIONを見ると、PTRレコードとしてIPアドレスとドメインが設定されていることが分かります(PTRレコードではIPアドレスは逆順に記載されます)
メールの送信に TLS 接続を使用
SESを使用する場合、TLSで暗号化されます。 Amazon SES およびセキュリティプロトコルより。
Internet Message Format 標準(RFC 5322)に準拠する形式でメールを作成
Amazon SES では、Internet Message Format 仕様(RFC 5322)に準拠した E メールメッセージを構築します
最後に
概説として内容を絞っても、それなりの分量になりました。今後、本稿では触れることのできなかった内容(DMARC認証など)についても記事を書きたいです。
\もっと身近にもっとリアルに!DAAE公式Twitter/
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
PHOTO:UnsplashのSolen Feyissa