管理画面にログインしたら大量メールが暴発した話
こんにちは。
最近立て続けにミスしている私ですが、
この度、ローカル環境でWordPressの管理画面にログインしたら、ありとあらゆる人にメールが飛んでしまいました...
ご迷惑おかけしてしまった方々、申し訳ありませんでした... orz
まず経緯から。
2月 - 開発(メール送信されず)
WP SMTPを使うケースが多いと思うのですが、今回はそれを使用していないプロジェクトでした。
デフォルトのPHPMailerはsendmailで25ポートを使うようなのですが、最近のプロバイダは迷惑メール対策(Outbound Port 25 Blocking - Wikipedia)をしていて、送れないケースが多いようで。
そしてこのとき契約していたプロバイダは案の定OP25Bしていました。
なので、当時メール送信処理を介した開発を行っていたのですが1通も送信されずじまい。
(このとき裏でmailqにどんどんスタックされていました。)
3月 - プロバイダ変更
社内のネットワーク環境の見直しが入り、同時にプロバイダも変わりました。
この新しいプロバイダは25ポートOKで、sendmailから気軽にメールが送れるようになりました!
...!?
そしてきたる事件の5月。
久しぶりに管理画面にログインしたら、よくわからないメールが大量送信!!!!
なぜだ!!!WordPress!!!
WordPressの管理画面でログイン成功時に、擬似クーロン(wp-includes/cron.php)が起動します。
この擬似クーロンは、通常のクーロンとは異なり、サイトアクセスがあったときにスケジューリングされている処理があれば、実行するようなものらしいです。
そしてこの擬似クーロンの中に、最新のWordPressのバージョンを確認する処理があり、自動でサイト登録者宛にメールで通知してくれる処理があります。(wp_includes/update.php#wp_version_check)
ここが爆弾。
sendmailが送信可能ってわかったら、即座にmailqに溜まっていたメールが全て放出。
これぞ、迷惑メールw