はじめに
ここ最近、Gmailの外部メールPOP受信機能終了が話題になっている。
- Gmail の Gmailify と POP の今後の変更について
https://support.google.com/mail/answer/16604719?hl=ja
これに対する対応策として、
「Gmail でのPOP受信から、外部メールサーバでのGmailへの転送に切り替えればよい」
という記事が多く見られる。
しかし結論から書くと、この対応は環境次第では「届かないメール」が発生する可能性が高いため、適切な対応策ではないと考えます。
以下では、その理由を整理してみました。
結論(先に)
Gmailの外部メールPOP受信機能終了の対応として、外部メールをGmailへの転送に変更すると、転送メールサーバの設定次第で「届かないメール」が発生する可能性が高いため、適切な対策ではない
特に以下を満たさないドメイン・メールサーバでの転送は、「届かないメール発生」の可能性「大」である。
- SPF / DKIM / DMARC / ARC を考慮していない
- 迷惑メールをそのまま転送している
- 単純転送(ヘッダ書き換えなし)
- 本文変更(文追加・文字コード変更・MIMEデコード/エンコード・添付ファイル分離・HTMLパート削除)
Gmailと外部メール受信方式の変遷
~2021年頃
- 単純なメール転送でも概ね問題なく届いていた
- Gmail側が比較的寛容
- メール転送で、GmailのSPAMフィルタを利用し、外部メールアドレス宛のSPAMをフィルタする目的で利用する人も多かったようだ
2022年頃
- Gmailのセキュリティ・迷惑メール判定が強化
- 転送メールがエラーになる事例が増加
- 回避策として Gmail側でPOP受信 の設定が行われるように
最近、Gmail側のセキュリティが厳しくなったらしく、転送したメールが発信元に戻ってしまうケースが多発していた
...
そこでGmailへの転送を止め、代わりにGmailでプロバイダ等のメールをPOP受信することにした。
2023~2024年頃
- Gmail送信者ガイドライン強化
- SPF / DKIM / DMARC 対応が事実上必須に
- 転送メールは SPF / DMARC失敗しやすい ことから、回避策として Gmail側でPOP受信 の設定がより行われるように
一方で様々な理由から Gmail へメールを転送する形で利用しているユーザもいらっしゃいます。メールの転送は送信ドメイン認証の一つである SPF と相性が悪く、しかも受信者の立場では何もすることができません。
...
そこで、現在ご利用のメールアドレスから Gmail へ転送する(= SPF の認証が失敗する)方法はやめて、Gmail 側からメールを取り込む・吸い出す方法(※2)に変更すれば、この影響を回避することができます。
現在
- 転送の回避策だった、Gmailの外部メールPOP受信機能が終了予定
- Gmailの外部メール取り込み機能が消滅
- 「これまで、Gmailへの転送 or GmailでのPOP受信で、外部メールアドレス宛の迷惑メール(SPAM)もフィルタしてたけど、もう対応できないよ。」ということ、と推測される
なぜ「転送」は適切でない可能性が高いのか
SPFと転送は構造的に相性が悪い
メール転送では:
- エンベロープFromの書き換えが無ければ、送信元ドメインの SPFは失敗
- DKIMなし&SPF失敗の場合、送信元(ヘッダFrom)のドメインのDMARC が "p=reject" の場合、Gmailで拒否される
POP受信では Gmail 自身が接続するため、この問題が発生しないようになっていた、と思われる。
Gmailは「SPAMを転送するサーバ」からのメールを拒否しようとしている
Googleの「Gmail へのメール転送に関するベスト プラクティス」https://support.google.com/mail/answer/175365?hl=ja では、以下が明示されている。
- 転送前に迷惑メールを除去せよ(迷惑メール(SPAM)を転送するな)
- 転送メールサーバ側で、転送前に、受信メールの送信ドメイン認証をチェックせよ
Gmailは、迷惑メール(SPAM)を送信する転送メールサーバを“迷惑メール送信者”として扱う
という立場を取ろうとしていると読み取れる。
メーリングリストの変化が示すもの
2022年以降、多くのメーリングリストは以下の方式へ移行している。(転送方式から再送方式へ)
- ヘッダFrom / エンベロープFrom の書き換え
- メーリングリストドメインでの DKIM 再署名
- ARC の付与
これは、単純転送では、Gmailをはじめ送信ドメイン認証をチェックする受信サーバにメールを拒否される可能性が高いためである。
参考:
- 送信ドメイン認証技術導入マニュアル
https://www.dekyo.or.jp/soudan/aspc/report.html#dam
「届くように転送する」ための最低条件
Gmailが正当な転送と見なすには、少なくとも以下が必要となる。
(Googleの「Gmail へのメール転送に関するベスト プラクティス」https://support.google.com/mail/answer/175365?hl=ja より)
- SPFパスするようにせよ
- エンベロープFrom を転送元ドメインに設定
- 転送元ドメインのSPFを適切に設定
- 「迷惑メール(SPAM)は、転送されないようにせよ」
- DKIM パスするようにせよ
- 本文とメッセージヘッダーの変更は行わない
- または再署名
- 「転送前に送信ドメイン認証をチェックせよ」(認証失敗メールを転送されないようにせよ)
- ARC を追加
ここまで対応した転送メールサーバでの転送が、POP受信の代替となる
結論
Gmailの外部メールPOP受信機能終了により、
- 「とりあえず転送に変更」
- 「昔動いていたから大丈夫」
という判断は、現在のメール環境では適切でないと推測する。
転送メールサーバが送信ドメイン認証を適切に理解・設定していない限り、届かないメールが発生することを前提にすべきであると考えます。
(残念ながら、「届かないメール」が発生しない転送メールサーバは、現状それほど多くないと推測しています。)
補足:対策について
GmailのPOP受信機能終了への、外部メールのGmailへの転送以外の具体的な対策については、既に多くの記事などで取り上げられているため、省略いたします。
追記
- (1/1追記) POP3 + Gmail API での解決策: https://note.com/konho/n/n91142826ffee
(Gmailのフィルタがどう働くがわからないので、余裕が出たら試してみたいと思っています。) - (1/7追記) Gmailに転送したメールが550-5.7.26等ではじかれてしまう問題: https://qiita.com/kabaken/items/b652cc409414ea8c485a