メールの受信にタイムラグがあります。

クライアントのマックからは正常に送信できますが、それを返信するとある時間後(平均して2〜3時間後)に返事が返ってきます。

NTTコミニュケーションⅡ電話をして問合わせたところ、DNSは完全ではないが、正常に作動しているとの事でした。


どなたか解決法をご存知でしたら、よろしくお願いします。


クロカワ

投稿日 2009/10/06 22:29

返信
返信: 28

2010/02/08 05:44 はに への返信

はにさま


ご返信ありがとうございます。

ご指摘のmail.logは以下のようなものが残っておりました。


まず、greylist.dbの所有権を「postfix」に変更した場合・・・メール受信一切不可時のlog

※すみません、確かに「_postfix」でありました。初めの「_」の意味が解らなかったのでn勝手に抜いてしまいました。


Feb 8 07:45:20 ○○server postfix/smtpd[2853]: connect from nx3obp07-05.ezweb.ne.jp[59.135.39.239]

Feb 8 07:45:20 ○○server /usr/libexec/postfix/greylist.pl[2859]: fatal: Cannot open database /var/lib/postfix/greylist.db: Permission denied

Feb 8 07:45:20 ○○server postfix/spawn[2858]: warning: command /usr/bin/perl exit status 1

Feb 8 07:45:21 ○○server postfix/smtpd[2862]: connect from nx3obp07-03.ezweb.ne.jp[59.135.39.237]

Feb 8 07:45:21 ○○server postfix/spawn[2858]: warning: command /usr/bin/perl exit status 1

Feb 8 07:45:21 ○○server /usr/libexec/postfix/greylist.pl[2863]: fatal: Cannot open database /var/lib/postfix/greylist.db: Permission denied

Feb 8 07:45:21 ○○server /usr/libexec/postfix/greylist.pl[2865]: fatal: Cannot open database /var/lib/postfix/greylist.db: Permission denied

Feb 8 07:45:22 ○○server postfix/spawn[2864]: warning: command /usr/bin/perl exit status 1

Feb 8 07:45:22 ○○server postfix/smtpd[2853]: warning: problem talking to server private/policy: Unknown error: 0

Feb 8 07:45:22 ○○server postfix/smtpd[2853]: NOQUEUE: reject: RCPT from nx3obp07-05.ezweb.ne.jp[59.135.39.239]: 451 4.3.5 Server configuration problem; from=<xxxxxxx@ezweb.ne.jp> to=<△△@●●.com> proto=SMTP helo=<ezweb.ne.jp>

Feb 8 07:45:22 ○○server postfix/smtpd[2853]: disconnect from nx3obp07-05.ezweb.ne.jp[59.135.39.239]

Feb 8 07:45:22 ○○server /usr/libexec/postfix/greylist.pl[2866]: fatal: Cannot open database /var/lib/postfix/greylist.db: Permission denied

Feb 8 07:45:23 ○○server postfix/spawn[2858]: warning: command /usr/bin/perl exit status 1

Feb 8 07:45:23 ○○server postfix/smtpd[2862]: warning: problem talking to server private/policy: Unknown error: 0

Feb 8 07:45:23 ○○server postfix/smtpd[2862]: NOQUEUE: reject: RCPT from nx3obp07-03.ezweb.ne.jp[59.135.39.237]: 451 4.3.5 Server configuration problem; from=<xxxxxxx@ezweb.ne.jp> to=<▲▲@●●.com> proto=SMTP helo=<ezweb.ne.jp>

Feb 8 07:45:23 ○○server postfix/smtpd[2862]: disconnect from nx3obp07-03.ezweb.ne.jp[59.135.39.237]

と言う感じのものが続いていました。

次に所有権を元に戻し、リロード直後です。

Feb 8 14:52:14 ○○server postfix/postfix-script[5976]: warning: not owned by _postfix: /var/lib/postfix/./greylist.db

Feb 8 14:52:35 ○○server postfix/postfix-script[5990]: refreshing the Postfix mail system

Feb 8 14:52:35 ○○server postfix/master[4777]: reload configuration /etc/postfix

そして、xyさまからのご指摘によりgreylist関係の設定をマニュアルで行った後受信したものです。

Feb 8 21:52:26 ○○server postfix/smtpd[17460]: connect from nx3obp07-06.ezweb.ne.jp[59.135.39.240]

Feb 8 21:52:26 ○○server postfix/smtpd[17460]: 95990370AD1: client=nx3obp07-06.ezweb.ne.jp[59.135.39.240]

Feb 8 21:52:26 ○○server postfix/cleanup[17466]: 95990370AD1: message-id=<2010020821522639115500006484@nxev05mp06.ezweb.ne.jp>

Feb 8 21:52:26 ○○server postfix/smtpd[17460]: disconnect from nx3obp07-06.ezweb.ne.jp[59.135.39.240]

Feb 8 21:52:26 ○○server postfix/qmgr[17350]: 95990370AD1: from=<xxxxxxx@ezweb.ne.jp>, size=719, nrcpt=1 (queue active)

Feb 8 21:52:27 ○○server postfix/smtpd[17469]: connect from localhost[127.0.0.1]

Feb 8 21:52:27 ○○server postfix/smtpd[17469]: 1DE02370AD8: client=localhost[127.0.0.1]

Feb 8 21:52:27 ○○server postfix/cleanup[17466]: 1DE02370AD8: message-id=<2010020821522639115500006484@nxev05mp06.ezweb.ne.jp>

Feb 8 21:52:27 ○○server postfix/smtpd[17469]: disconnect from localhost[127.0.0.1]

Feb 8 21:52:27 ○○server postfix/qmgr[17350]: 1DE02370AD8: from=<xxxxxxx@ezweb.ne.jp>, size=1370, nrcpt=1 (queue active)

Feb 8 21:52:27 ○○server postfix/smtp[17467]: 95990370AD1: to=<▲▲@●●.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.58, delays=0.07/0.04/0/0.47, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 1DE02370AD8)

Feb 8 21:52:27 ○○server postfix/qmgr[17350]: 95990370AD1: removed

Feb 8 21:52:27 ○○server postfix/pipe[17471]: 1DE02370AD8: to=<▲▲@●●.com>, relay=dovecot, delay=0.16, delays=0/0.03/0/0.12, dsn=2.0.0, status=sent (delivered via dovecot service)

Feb 8 21:52:27 ○○server postfix/qmgr[17350]: 1DE02370AD8: removed

Feb 8 21:55:46 ○○server postfix/anvil[17464]: statistics: max connection rate 1/60s for (smtp:59.135.39.240) at Feb 8 21:52:26

Feb 8 21:55:46 ○○server postfix/anvil[17464]: statistics: max connection count 1 for (smtp:59.135.39.240) at Feb 8 21:52:26

Feb 8 21:55:46 ○○server postfix/anvil[17464]: statistics: max cache size 1 at Feb 8 21:52:26

こちらは遅延も何も無く至って正常に受信することが出来ました。

ご指摘、ご指導のほど宜しくお願いいたします。

2010/02/08 06:48 tousuke への返信

お久しぶりです。


家の素の環境のMac OS X Server 10.6.2でも、「/var/lib/postfix/」は


-rw------- 1 nobody mail 2322432 Feb 8 23:34 greylist.db

-rw------- 1 _postfix mail 33 Feb 8 23:32 master.lock

-rw------- 1 _postfix mail 1024 Feb 8 23:34 prng_exch

ですね。むろん、何もいじっていません。このままがApple標準だと思います。

2010/02/08 06:58 micky への返信

mickyさま


やはり最初から、もしくは迷惑メールフィルタを設定するとgreylistが稼働し始めるのですね・・・おそらく。


mickyさまにお願いがあります。

是非「sudo postfix check」にてチェックしてみて下さい。

とても変な話ですがmickyさまのお家の「素の環境のMac OS X Server」でもアラートが出るのでしたら安心・・・バグ?と言うことで納得がいきますので。


何卒、宜しくお願いいたします。

2010/02/08 15:18 tousuke への返信


Feb 8 07:45:20 ○○server /usr/libexec/postfix/greylist.pl[2859]: fatal: Cannot open database /var/lib/postfix/greylist.db: Permission denied

..


Feb 8 07:45:22 ○○server postfix/smtpd[2853]: NOQUEUE: reject: RCPT from nx3obp07-05.ezweb.ne.jp[59.135.39.239]: 451 4.3.5 Server configuration problem; from=<xxxxxxx@ezweb.ne.jp> to=<△△@●●.com> proto=SMTP helo=<ezweb.ne.jp>

Feb 8 07:45:22 ○○server postfix/smtpd[2853]: disconnect from nx3obp07-05.ezweb.ne.jp[59.135.39.239]




データベース/var/lib/postfix/greylist.db のowner が変わってしまっているので,greylist.pl (greylisting を行うperl script)がデータベースを読めず,エラーになってます。結局送信元との接続は切れているようです。


owner を元に戻せば,正常に働き,受信できています。


postfix check でエラーが出るということですが,この程度のエラーはサーバソフトではよくあることです。これはチェックプログラムの(あまり深刻でない)バグで,(postfixそのものは瑕疵なく動いているので)postfixそのもののエラーではありません。この程度のバグは修正されない可能性もあります。うまく動けば結果オーライという世界ですから。またこのバグによって、深刻な不具合が派生する可能性もありませんし。

2010/02/08 15:04 micky への返信

mickyさま


検証ありがとうございました!

mickyさまのお家の素の環境でも同じと言うことで妙に安心しました。Tell Usして私も修正を気長に待つ事にします。

ただ、環境の違いでしょうね、一行私のうちのものより多いようですね。


-rw------- 1 _postfix mail 1024 Feb 8 23:34 prng_exch



我が家だけの現象だったら気持ち悪いのでクリーンインストールしようかと思っておりましたがせずに済みました。


この度はありがとうございました。

今後とも宜しくお願いいたします。

2010/02/08 15:31 はに への返信

はにさま


ご返答ありがとうございます。

詳しくないのですが私なりにlogを解析してみたところ「Cannot open database /var/lib/postfix/greylist.db: Permission denied」・・・アクセス権が無い為にgreylistデータベースが開けない・・・となっているんだなと。

メールが届いたのけれど、これを受け取って良いかどうかの判断材料となるgreylistデータベースが参照出来ないので取り敢えず返送してしまい、ついには「disconnect from xxxx」・・・送信元との接続を辞めたと言うことでよろしいでしょうか。

owner を元に戻せば,正常に働き,受信できています。


postfix check でエラーが出るということですが,この程度のエラーはサーバソフトではよくあることです。これはチェックプログラムの(あまり深刻でない)バグで,(postfixそのものは瑕疵なく動いているので)postfixそのもののエラーではありません。この程度のバグは修正されない可能性もあります。うまく動けば結果オーライという世界ですから。またこのバグによって、深刻な不具合が派生する可能性もありませんし。

そういうものなのですか、サーバソフトと言うものは。

なんとなく”サーバソフト>クライアントソフト”のように、より完璧に仕上がっているものかと思っておりました。まぁ、サーバソフトの方が沢山の機能を実装しているとすれば確かにすべてを完璧にすると言うのはなかなか出来ない事なのかとも思いますが・・・。


はに様の仰る通り現在正常に動いておりますし私以外の方の元でも同じ状況のようであります。また、この程度の事は良くあるとの事ですので気にせず使用していこうと思いました。それよりも「周りの方々に迷惑をかけない事」の方に気を配らねばなりませんね。


この度は色々とありがとうございました。

また解らない事がありましたら是非、相談に乗って下さい。宜しくお願いいたします_(._.)_

2010/02/08 17:34 tousuke への返信

ちょっと、整理しておきますね。今後同じ現象で悩んでいる方の道しるべのために。。。(^_^)


1. sudo postfix check で、ワーニングが出る。


これは、ワーニングが出て当然です。(^_^)

/var/lib/postfix/greylist.dbファイルは、厳密にはpostfixでは管理されていないものです。このdbファイルは、SPAMを制御するためのgraylistingを実装するpostfixではないpostgreyというサーバアプリケーションが作成管理しております。

なので、postfix checkとやると、postfixが知らないファイルが自分の管理下のディレクトリ上に自分のパーミッションでアクセスできないものがあるので、ワーニングを出すだけです。checkの仕様通りの動作です。


2.spostfixはいい加減に作成されていて、動けばラッキー?


そんなことは有りません。

現在のpostfixメール配送サーバでは非常にセキュアで安定して動作しております。安心して運用できます。国の機関や大手企業でも採用されております。(^_^)

今回のcheckで、きちんとワーニングを出してくれるなど、非常に厳密にチェックしてくれます。


3.greylist.dbのオーナーがなぜnobodyなのか?


これは、セキュリティ上、このようにしています。_postfixにすると、直接postfixがdbファイルをアクセスできるようになったり、他のサーバプログラムのセキュリティホールからの不正アクセスを極力抑えるため。それに、postgrey自身のセキュリティーホールからの被害を他のサーバプログラム(postfixなど)に飛び火する可能性を下げるためにそのようにしております。


4.メールの遅延が発生する。


これは、ある意味、graylistingでSPAMの抑制をしているので仕方がない仕様上の制約のためです。

greyllistingの方式では、SPAMを送信している疑いのあるサーバからのメールは、一回目のメールを拒否して送り返します。送信元のサーバが普通のサーバであれば、再送してきますが、SPAMサーバだと効率を優先して再送してきません。(^_^)

ここで、一回受信を拒否するので遅延が発生します。何分後に再送するかは発信元サーバの設定なので、一分後か一時間後か、はたまた一日後か。。。

ということで、グレーリストに載っているサイトからのメールが遅延するのは仕方がないことなのです。グレーリストに載らないように自サイトを保全する事も肝要ですね。


と、こんな感じでしょうか?

皆様のお役に立てば幸いです。

2010/02/08 19:53 Hiroki への返信

ここで、一回受信を拒否するので遅延が発生します。何分後に再送するかは発信元サーバの設定なので、一分後か一時間後か、はたまた一日後か。

OSX server のgreylist の設定がどうなっているのかは知りませんが,一般には,greylist するときには、一定の時間内(大抵は数分後から数時間以内)に同じホストから再送されて来たのを通すようにしています。それ以降のはまたカウンターがリセットされ,同じことが繰り返されます。スパムの送信サーバでも,直後には繰り返すものも多いです。またかなり長時間,1日後でも2日後でも再送されて来たら受け取るという方式だと,かなりのスパムを受け取ってしまいます。スパムは1日後にはまた(同じスパムだったり,別のスパムだったりします)送って来るという動作をするものが多いです。

2009/10/07 01:14 krkw への返信

OSX Serverカテゴリ内の質問ですので、ご自身で自ドメインを取得してサーバを運用されていると思うのですが(リレー専用サーバの可能性もありますけど…)、そのサーバを使っての送信で遅延が発生するということでしょうか?


もう少し具体的に書いて頂けると良いのですが。

2009/10/23 18:35 micky への返信

可能性としてgreylistingがありそうでした。


え、そうなんですか?

OSX server は greylisting 方式をとっているのでしょうか?

かなり特殊な対策ですし,設定が難しく(各サイト毎に設定する必要あり),設定によっては,受け取るべきメールを受け取れなくなることもあります。あまり一般的には採用しないと思いますけど。特にコマーシャルな製品で採用するとはちょっと思えません。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

メールの受信にタイムラグがあります。

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。