MTU値が原因でトラブったのでメモ。
JPEGを添付した巨大なmultipartメールを送信した場合に限り、送信時にクライアント側でタイムアウトが発生した。
ウィルスゲートウェイを備えたメールサーバから、送信先ドメインのメールサーバに送れない。ちなみに、送信先ドメインのメールサーバのプロセスを見てみると、データ送信で止まってるプロセスが出現する。
# ps aux ...sendmail: server virusgwbr.sppd.jp [210.136.111.234] child wait ...sendmail: ./i96CqhT26555 virusgwbr.sppd.jp [210.136.111.234]: DATA
そのうち、タイムアウトでこれらのプロセスは消える。
以前、知人が同様に「画像が送信できない」と困っていて、いろいろ調査したところTCPパケットの1500バイト前後の境界で現象が発生していた。MTU値を自動設定か1500に固定したかしたら直ったことがあったので、今回もMTU値を疑った。
色々調べた結果、以下のHPの通りMTU値を1454にしたところ解決した。
http://www.fiberbit.net/member/router/barwl.html
関連:
http://www.sendmail.org/tips/pathmtu.html
http://www.linuxjournal.com/article.php?sid=5507
※2009年現在、こうした話は最近はとんと聞かなくなった・・・。