【トラブル解決】Cloudflare 経由で SMTP 接続がタイムアウトした原因と対処法
WordPress サイトで SMTP 経由のメール送信ができなくなるトラブルが発生しました。その原因は意外にも Cloudflare の「プロキシ設定」でした。本記事では、実際のエラー事例をもとに、事象・原因・解決法をまとめます。
📌 事象:SMTP メール送信がタイムアウト
WP Mail SMTP プラグインを使って SMTP 経由でメールを送信しようとしたところ、次のようなエラーが発生:
SMTP Error: Could not connect to SMTP host.
Failed to connect to server SMTP code: 60
Additional SMTP info: Operation timed out
デバッグログには以下の記録も:
stream_socket_client(): Unable to connect to mail.mydomain.com:587 (Operation timed out)
🧠 原因:Cloudflare のプロキシが SMTP 通信をブロックしていた
DNS で mail.mydomain.com
を名前解決すると、以下の IPv6 アドレスが返ってきました:
2606:4700:3030::6815:2878
2606:4700:3030::ac43:971f
これらはすべて Cloudflare のプロキシ用 IP アドレスです。
Cloudflare は SMTP(ポート587や465など)の通信をサポートしていないため、リクエストがタイムアウトしていました。
✅ 解決法:Cloudflare のプロキシ設定をオフにする
手順:
- Cloudflare にログイン
- 該当ドメイン(例:
mydomain.com
)を選択 - 左メニューから「DNS」を選択
mail.mydiomain.com
に設定されているA
およびAAAA
レコードを探す- 「オレンジの雲(プロキシ有効)」をクリックして「グレーの雲(プロキシ無効)」に変更
SMTP 用のドメインは必ずプロキシ無効(グレーの雲)にする必要があります。
DNS変更後は、次のコマンドで Cloudflare 経由でないことを確認:
dig AAAA mail.mydomain.com
返ってくるアドレスが 2606:4700:...
でなければ OK です。
✉️ 結果:SMTP メール送信が正常に復旧
DNS設定を修正したあと、WordPress の SMTP テスト送信は正常に成功しました。タイムアウトエラーも発生しません。
🔚 まとめ
項目 | 内容 |
---|---|
事象 | SMTP メール送信がタイムアウトで失敗 |
原因 | Cloudflare が mail.kiwamaqs.com の SMTP 通信をブロック |
解決法 | DNS のプロキシ設定を無効化(グレーの雲に切り替え) |
Cloudflare は強力な CDN・セキュリティツールですが、SMTP、IMAP、FTPなどの非HTTP通信は扱えない点に注意しましょう。
SMTP サーバー用のサブドメインには「プロキシ無効」を徹底することが大切です。