senderlogに"GetTryServer:(xxxx)/120=(0)"が記録される意味について
senderlogを確認したとき、下記の例のように"GetTryServer:(xxxx)/120=(0)"の記録されている部分がたくさん見つかることがあります。これはどういう意味かとご質問を受けることがありますので、その意味の概要を説明します。
GetTryServer:(ltime(13110269502)-otime(13110269501))/120=(0)
最後の"/120"の表記は、120秒間ごとに配送リトライを繰り返していることを表します。
上記例に基づいて解説しますと、まず otime=メールキューに置くためにMSGファイルを最初に作成した時間、ltime=現在のスレッド処理の時間をそれぞれ表します。配送しようとするMSGファイルが処理時間からどれくらい時間が経過したかを求め、その時間差をリトライ間隔時間で割ることで、リトライを定期的に行った場合に実行したはずのリトライ回数を算出している記録です。
上記例では、時間差である ltime(13110269502)-otime(13110269501)、つまり 13110269502-13110269501=1 をリトライ間隔の120秒(デフォルト)で割った答えの整数部分が 0 を表すことから 1/120=0 という結果になります。言い換えると、0 になるのは、MSGファイルが作成されてすぐに送信スレッドで処理されたことを示します。
ちなみに、E-PostのSMTP配送サービスは、送信時の名前解決としてリトライ毎に MXレコード1→MXレコード2→Aレコード と順番に参照します。加えてhostsファイルも参照したりするので、1回の送信分だけでもいくつかの方法が繰り返し試されます。"GetTryServer:"の記録が多いのは、そういう仕組みのせいも一因としてあります。
(関連FAQ)
●メールサーバがDNSを参照するときの動きについて