MXキャッシュデータはどう更新されどういうときに削除されるのか
MXキャッシュデータは、「MXキャッシュの更新間隔」で設定されているいわゆる期限が切れている状態では削除されることはありません。ファイルのタイムスタンプ(更新日付)を参照して、有効期間内ならキャッシュ情報を参照します。期限が切れた有効期間外なら、DNS問い合わせを改めて行い、接続成功した情報を同じファイル名で上書き更新します。
MXキャッシュデータが削除されるのは接続(コネクト)に失敗したときのみです。キャッシュ情報に基づいて再度の接続の際に、接続が失敗した場合にキャッシュ情報のリセット対象とみなし、MXキャッシュファイルを削除します。
一方、接続後の最終的なネゴシェーションの結果が一時的拒絶や永続的拒絶の場合でも、MXキャッシュデータは削除されず、情報はスルーされる結果となります。(EPSTDS v4.65まで)。その結果、たとえば400番台の一時的拒絶では、接続自体に成功していることから、MXキャッシュデータは削除されない結果となります。
これに関して20181224最新差分アップデートで適用されることになる EPSTDS v4.66以降は、MXキャッシュデータの削除タイミングを一時的拒絶や永続的拒絶の場合にも広げ、適用するように仕様を見直しました。MXキャッシュ有効時に接続が成功してもDNSのMXレコードにある全ての送信先に拒絶された場合は、MXキャッシュファイルを削除してリセットするように改善されています。
E-Postの動作仕様についてまとめると次の通りです。
a.MXキャッシュ情報は、ただ期限が切れて超過しているだけでは削除されない。
b.再度の接続の際、接続(コネクト)失敗した場合には、MXキャッシュ情報のリセット対象とみなし、MXキャッシュファイルを削除する。
c.接続後のネゴシェーションの結果が一時拒絶や拒絶を受けた場合には、MXキャッシュ情報はスルーされる。(EPSTDS v4.65まで)
d.接続後のネゴシェーションの結果が一時拒絶や拒絶を受けた場合には、MXキャッシュ情報はリセットされる。(EPSTDS v4.66以降)
(関連FAQ)
●MXレコードに書かれた複数のMTAのうち優先度の低いサーバに繰り返し接続しエラーを返される