はじめに
神奈川県ネット出願システムのGmailへのメール到達性問題は、さまざまな情報があり、いろいろ推測されています。そんな中8/291,302と日経の記事が掲載され、こんなことがあったなと思いだしたタイミングで自分が管理するVPSサーバでこれまで届いていたGmailへのメールがエラーになりました。このエラーについて考えていたところ、神奈川県ネット出願システムのGmailへのメール到達性問題で、これまでの推測でおそらく大きく取り上げられていない 「Gmailへの送信を直接SMTP・IPv6で行おうとしていたことが最初の原因の可能性」 に気づき、考察してみました。
考察の結果
現時点では、考察の結果、意図的かそうでないかは不明だが、出願システムのサーバからGmailへの送信を直接SMTP・IPv6で行おうとしていたことが最初の原因の可能性は十分ある。と推測しています。
結果、サーバがIPv6対応しておりIPv6でSMTP送信が可能であったため、IPv4のみの対応のメールサーバには送信できたが、IPv6にも対応のGmailだけなにかしらの理由で送信できない状況になった。GmailだけIPv6利用という他のドメインと違う状況がとなり、外部から原因を推測しようにも、困難な状況となった。と推測。
ご指摘・コメント大歓迎です。
出願システムのサーバがGmailへの送信を直接SMTP・IPv6で行おうとしていた可能性の考察
- 出願システムのサーバで動作していたMTAはpostfixと推測されており、postfixのデフォルト設定ならば、デュアルスタックのサーバの場合送信時IPv6を優先
- 送信時にローカルのpostfixを利用していたかは不明(ライブラリ等で直接SMTPを行っていた可能性もある)
- Amazon EC2,VPCはIPv4とIPv6 の両方のアドレス設定プロトコルをサポート
- Gmailのメール受信サーバはIPv4とIPv6両方に対応
- Gmail以外のほとんどのメール受信サーバはIPv6対応でない
- Amazon SESを最初から利用していたかは不明(利用していなかった場合、出願システムのEC2から直接送信で、IPv6を利用した可能性は高い)
- Amazon SESはIPv4のみ対応で、IPv6の対応メールサーバ(Gmail)は出願システムのEC2サーバから直接送信した可能性(そのようにpostfixを設定できるか等は現時点未確認)
- 出願システムのEC2サーバのGmailへの送信時にIPv6のアドレスを使っていたとしても、そのメールを受信できたGmailのメールのヘッダを確認以外で、そのIPv6アドレスを外部から知ることは困難(同様に使用送信プログラムが何かを知ることも困難)
- GmailへのIPv6でのメール送信でのトラブルは、原因はさまざまだが、以前から最近まで割とある
- https://www.illucit.com/en/allgemein/gmail-and-ipv6
- https://yeri.be/gmail-google-apps-ipv6/
- http://tanguy.ortolo.eu/blog/article109/google-ipv6-smtp-restrictions
- https://blog-y.core-arata.co.jp/2014/02/02/1145/
- https://www.very-cute.net/wp/191/
- https://qiita.com/KoriCori/items/ce30aecf38c85c3afc01
- https://forum.howtoforge.com/threads/ipv6-and-gmail-problems.64675/
- https://community.mailcow.email/d/3360-messages-not-delivered-to-gmail-over-ipv6
- https://x.com/umeyon/status/1750333792911491310
- GmailへのSMTP over IPv6で即時送れなかった原因は以下のような点が想定できる
- IPv6が global IPでないなどで、タイムアウト・キュー保留
- IPv6の逆引き・正引き不一致/ Forward Confirmed Reverse DNS(FCrDNS)満たさずでブロック
- SPFにIPv6含まれずでブロック
- IPレピュテーションによるブロック
- MXの値をIPv4アドレスで記述したのは、ドメイン名を指定してIPv6アドレスで送受信されることを避けたかったことが理由の可能性
- 自分が管理するサーバでこれまで届いていたGmailへのメールがエラー
以下補足データ
Gmailのメール受信サーバはIPv4とIPv6両方に対応
$ dig gmail.com mx +short
20 alt2.gmail-smtp-in.l.google.com.
40 alt4.gmail-smtp-in.l.google.com.
10 alt1.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
$ dig gmail-smtp-in.l.google.com. any +short
2404:6800:4008:c06::1a
2404:6800:4008:c06::1b
64.233.188.27
64.233.188.26
$ dig alt1.gmail-smtp-in.l.google.com. any +short
2607:f8b0:4023:c0b::1a
2607:f8b0:4023:c0b::1b
142.250.141.26
142.250.141.27
(他略)
Gmail以外のほとんどのメール受信サーバはIPv6対応でない
yahoo.co.jpやAmazon SESを含め現在はほとんどのメール受信サーバがIPv4のみ
$ dig yahoo.co.jp mx +short
10 mx1.mail.yahoo.co.jp.
10 mx2.mail.yahoo.co.jp.
10 mx5.mail.yahoo.co.jp.
10 mx3.mail.yahoo.co.jp.
$ dig mx1.mail.yahoo.co.jp. any +short
124.83.237.248
202.93.77.241
202.93.77.240
124.83.237.249
$ dig feedback-smtp.ap-northeast-1.amazonses.com any +short
18.178.226.103
18.178.46.176
3.115.130.245
自分が管理するサーバでこれまで届いていたGmailへのメールがエラー
該当のサーバは、レンタルVPSサーバ。IPv4,IPv6 デュアルスタックでSendmailを動作させ、IPv4,IPv6両方の25番ポートで送受信に対応させている。SPF(IPv4,IPv6),DKIM,DMARC設定済み。逆引きもIPv4,IPv6共に同じホスト名でFCrDNS対応で設定済み。
Gmailのメール受信サーバはすべてデュアルスタックのため、該当サーバでGmailへはIPv6で送信していた際にエラー(現在はIPv6での送信を取り止め)
Sep 7 10:51:33 host sendmail[10654]: 4871pU6f010429: to=<(userA)@gmail.com>, relay=gmail-smtp-in.l.google.com. [IPv6:2404:6800:4008:c01:0:0:0:1a], dsn=2.0.0, stat=Sent ★成功
Sep 7 10:51:33 host sendmail[10654]: 4871pU6f010429: done; delay=00:00:01, ntries=1
Sep 7 10:51:33 host sendmail[10652]: 4871pU6e010429: to=<(userB)@gmail.com>, relay=gmail-smtp-in.l.google.com. [IPv6:2404:6800:4008:c00:0:0:0:1a], dsn=2.0.0, stat=Sent ★成功
Sep 7 10:51:33 host sendmail[10652]: 4871pU6e010429: done; delay=00:00:01, ntries=1
Sep 7 10:51:33 host sendmail[10648]: 4871pU6c010429: to=<(userC)@example.jp>, relay=aspmx.l.google.com. [IPv6:2404:6800:4008:c1b:0:0:0:1a], dsn=2.0.0, stat=Sent ★成功
Sep 7 10:51:33 host sendmail[10648]: 4871pU6c010429: done; delay=00:00:01, ntries=1
Sep 7 10:51:33 host sendmail[10656]: 4871pU6g010429: to=<(userD)@gmail.com>, relay=gmail-smtp-in.l.google.com. [IPv6:2404:6800:4008:c01:0:0:0:1a], dsn=5.0.0, stat=Service unavailable ★エラー
Sep 7 10:51:33 host sendmail[10656]: 4871pU6g010429: 4871pX4p010656: DSN: Service unavailable
----- Transcript of session follows -----
... while talking to gmail-smtp-in.l.google.com.:
>>> DATA
<<< 550-5.7.1 [2001:2e8:XXX:X:X:X:X:X] The IP you're using to send mail is not
<<< 550-5.7.1 authorized to send email directly to our servers. Please use the SMTP
<<< 550-5.7.1 relay at your service provider instead. For more information, go to
<<< 550 5.7.1 https://support.google.com/mail/?p=NotAuthorizedError 98e67ed59e1d1-2dadc1029a2si2719855a91.132 - gsmtp
554 5.0.0 Service unavailable
Reporting-MTA: dns; (host)
Received-From-MTA: DNS; (host)
Arrival-Date: Sat, 7 Sep 2024 10:51:32 +0900
Final-Recipient: RFC822; (userD)@gmail.com
Action: failed
Status: 5.7.1
Remote-MTA: DNS; gmail-smtp-in.l.google.com
Diagnostic-Code: SMTP; 550-5.7.1 [2001:2e8:68c:0:2:1:0:4] The IP you're using to send mail is not
Last-Attempt-Date: Sat, 7 Sep 2024 10:51:33 +0900
- ログだけではエラー詳細がわからず、エラーメールの内容をみないとエラー詳細がわからない状況
- ただ、エラー詳細を見ても、対処法は不明
- Google Postmaster Tools では該当日付(前後含む)は以下の通り
- 認証(SPF,DKIM,DMARC):成功率100%
- IP レピュテーション:IPv6が表示されない
- 配信エラー:0%
- 迷惑メール フィードバック ループ:0%
- 該当ドメインは、Gmailに5000通以上送信している判定のはず
- 引き続きIPv4では届くがIPv6はエラーとなる状況
-
[システム障害報告書を独自入手、神奈川県教育委員会「Gmail届かない問題」の全貌] https://xtech.nikkei.com/atcl/nxt/column/18/02929/082700001/ ↩
-
詳細判明した神奈川県の高校入試ネット出願トラブル、専門家が指摘する3つの不備 https://xtech.nikkei.com/atcl/nxt/column/18/02929/082800003/index.html ↩