メールといっても単なるデータなので、何処いたのかって言い方もおかしいですけどね。
でも一体どこに居たの!?と言いたくなるような事が起きました。
草木も眠る丑三つ時、今回もiptables関連の話。
あるメールアドレスで、たけけんのサーバーにメール送信のテストをしていたのですが、一向に届かないし、maillogを見ても何もない。
LIVEメールを使ってるんですけど、ちゃんと送信済みトレイに入っているし、エラーメッセージも返ってこない。
やだな、やだなぁぁぁあ、どこに行っちゃったんでしょう。
うちのPCからtelnetで確認したけど、接続はできている。
受け手には問題ない?
……でハッと思い出したんですよ、あいつです。
iptablesですよ。
まさか自分の使ってるメールアドレスのIPアドレスを塞ぐ訳ないだろうってね……
半信半疑でしたけどね、そっと見てみたら……
しっかりと該当してるIPアドレスをdropしてありました。
な~んだよー!検証の為に設定してなおし忘れてたようです。
そしてiptablesをなおして、スッキリしてそのまま就寝。
朝になってメールを見て、驚きました……
メール、届いてたんです。
メールヘッダーのReceivedを見たら、サーバー間で到着した時間が40分ほど時間が離れてたんです。
40分、40分ですよ!?
送信されてから、40分の間はFirewallでdropされてた訳です、どこに居たんでしょうね。
ここからは推測になりますが、サーバーから何通も出されてたら何通も届きそうだから、それはまず消えた。
となると1通のメールが何度もループされてたんでしょうか。
簡単な確認方法は送信サーバーを立てて、そこで実験してみるのがいいですが……
残念、サーバーの仕様が違うわけですよ……
残念ながら真相は闇の中です……
という事で、今回は稲川淳二風に書いてみたつもりですが、下手糞だなぁ。。
まぁ今度の土日でもやろうかな、答え探しに行こう。
うぉっきんうぇ~、うぉっきんうぇえ~
メールは再送され続けてただけだったりしませんか?
ほげさんありがとう。
ぐぬぬ、再送ですよね、そうですよね。
お間抜けでお恥ずかしいわ。
TCPですもんね。
気を取り直して、Sendmailのリトライ間隔というのを調べてみました。
デフォルトでこんな感じらしい。
・再送間隔1時間
・4時間経っても送れなかったら警告メール
・5日間経っても送れなかったら送信者にリターン
さくらインターネットの猛者のサーバーですから、カリカリにチューニングされているんでしょう。
とはいえ。
再送でしょうね。
もし postfix ならデフォルトの再送間隔はもう少し短いみたいです。
メールの再送はTCPではなくSMTPというかMTAの実装によるものですね。
たけけんさんはものすごい勢いで勉強されているのがブログから伝わります。参考にさせていただいている部分もいろいろありますので今後もがんばってください!
ありがとうございます。
。・゚゚・(≧д≦)・゚゚・。
今後とも宜しくお願いします。