メールキューフォルダ(incoming)にメールデータがたくさんたまってしまう原因を調べる new!
着信すべきユーザーのメールボックスフォルダにメールデータファイルの生成、つまりメールの着信が遅れている場合、以下のことをご確認ください。
これは内部ドメイン・アカウント宛てへのメールであるという前提です。
1.リトライ関係フォルダ(domains/holding)の各フォルダにリトライ対象のメールが溜まっていないか
メール作業用フォルダ(既定 /var/spool/epms/)下のリトライ関係フォルダ(domains, holding)の中を目視で確認してください。
その際に、配送の名前解決ができず、リトライしているメールがある可能性を想定して確認してください。
通常、内部ドメイン・アカウント宛てへの直メールなら名前解決を要しませんが、アカウント単位で行っている自動転送設定を行っているときや、メーリングリストを使っているときは、内部ドメインであっても名前解決が要求されます。
内部ドメイン名を /etc/hostsファイルに記述しておくことは必須のお願い事項にしております。合わせてご確認ください。
(関連FAQ)
●リトライ処理が行われるときの情報とフォルダについて
●/etc/hostsファイル記述の必要性と有用性について
●クライアントからのメール送信が遅いケースと/etc/hostsファイルの必要性
●内部アカウントを自動転送で設定したり、メーリングリストに設定したときに、送信処理に時間がかかってしまう
2.incomingフォルダ(メールキュー)に溜まっているファイル数の確認
メール作業用フォルダ(既定 /var/spool/epms/)下のincomingフォルダ(メールキュー)内を目視で確認してください。
ここでは、それなりの数のデータファイルが生成されては、消えている状態が普通ですが、膨大な数のファイルがたまっていないか確認してください。
膨大な数のファイルがたまっているときは、メールの不正利用者の可能性もあり、異常事態の部類に入ってきます。念のため、外部からの不正利用者がいる可能性も念頭に置いて、お調べください。
incomingフォルダにどのぐらいのファイルがたまっているのか目視ではわかりづらい場合、フォルダ内にあるファイル数を定期的に監視するといった自作のバッチファイルかスクリプトをご自身で用意していただき、それをスケジューラーで登録しておいて定期実行するといった方法が考えられます。
このとき、incomingフォルダ内のファイル数チェックだけにとどまらず、一日単位で、inlog, receivelog, senderlog のログファイルサイズを調べ、該当する日のファイルサイズが平時よりも巨大であったか否かの比較で判断される等の方法を併用することが推奨されます。
メールキュー(incoming)にたまるケースの例として、下記のようなケースが考えられます。
1). 受信したメールがスパムのような大量メール(踏み台や不正利用)などに利用された場合。
2). 送信相手までの経路上の問題(サーバ停止や回線故障等様々な事情)など相手が受信できなかった状況が発生していた場合。
1)については、不正利用などの緊急時ですので、まったく別の対処策が必要です。下記FAQをご参照ください。
2)については、平時時でも起きうる事象です。送信不能エラー処理されるまで定期的にリトライ関係フォルダからメールキューのincomingフォルダに戻され、累積する場合はあるものの、リトライ期間(回数)を過ぎるか、相手側がメールを受け取れる状況になれば、リトライしていたメールは順次なくなっていき、正常状態に戻ります。
メールキューやリトライ関係フォルダのメールデータが減っていない場合は、senderlogから対象メールの送信記録の状況を調べていくようにします。回線の不具合、DNSの不調、相手側のエラーコードと応答内容、などから判断します。
ログを取っていない場合、ご紹介した記事でもふれているように、リトライ関係フォルダのうち、domainsフォルダに生成されている"domain.mri"ファイルをメモ帳などで開き"Try-number:"のエラーコードを確認する方法です。
配送リトライが行われた直近回の送信時のエラーコードが記録されていますので、そこから何が起きているか、大まかな内容をある程度類推することが可能です。相手から返されたエラーコード400番台は一時的な拒絶、500番台は永続的な拒絶を意味します。
(関連FAQ)
●メールキュー(incoming)フォルダに生成される一時ファイルについて
●メールの不正利用・なりすまし被害に遭った場合の一連の手順
なお、incomingフォルダ(メールキュー)にどれだけの時間溜まっていたのかを突き合わせて調べるには、inlogとSenderlogも可能ですが、inlogとoutlocallogの突き合わせのほうが作業は楽と思われます。
outlocallog(SMTP送信ローカルログ)は下記記事をご参照ください。
(関連FAQ)
●SMTP送信ローカルログ(outlocallog)について
●内部アカウントのメールボックスへ着信された日時を確認するには
3.サードパーティー製アンチウイルスソフトによるリアルタイムスキャンなどにより、メール作業用フォルダやメールボックスフォルダを監視していないか
導入時にされていても、除外設定が解除されていることもあります。アンチウイルスソフトをメールサーバに同居させる場合、メール作業用フォルダやメールボックスフォルダのリアルタイムスキャンの除外設定は必須です。念のためご確認ください。
(関連FAQ)
●メールサーバマシンにアンチウイルスソフトを同居させるときの注意点
●アンチウイルスソフトをメールサーバマシンに入れる場合、除外設定を必須とする理由について