早間です。
From: Agyou Kondo <kondo@xxxxxxxxx>
Subject: [linux-users:105025] sendmailでSMTPのリレーがうまくいかない
Date: Wed, 8 Jun 2005 20:14:33 +0900
Message-ID: <20050608194145.14A6.KONDO@xxxxxxxxx>
> 近藤ともうします。
>
> Redhat9 PHP+PostgreSQLの環境下で
> メール配信を行うシステムを構築しております。
>
> そこで、携帯電話にもメール配信を行うため
> 遅延を防ぐために別の会社さんのメールサーバーをリレーして
> 配信するようにしております。
>
> そこで/etc/mail/mailertableの設定を以下のように設定し
> 携帯電話へのメールはsmtp:[ns.example.gr.jp]へリレーする
> 設定にしております。
>
多分送信側の配信ペースが中継側(ns.example.gr.jp)の受信ペースを上回っ
ている事が原因ではないかと思います。
ただ、中継側が受け取っても携帯電話のメイル受取ホストが種々の理由で
受信延期することがあるので仕方の無い問題かも知れません。
sendmail では最大子プロセス起動数(confMAX_DAEMON_CHILDREN) の値
で子プロセス起動数が制限されています(実際には、指定地の倍位起動さ
れるようです)。
またロードアベレージの値で受信を拒否します。
受信を拒否されたメイルは queue に保存され転送間隔時間経過後(-q で
設定)、再度送信が試みられる事になりますが、配信するメイルが多い場
合、当然指定時間以上掛かることになります。
それが何十分後という現実値になっていると言うことです。
比較検討する問題としては次の問題でしょう
(1) 配信・中継の MTA で利用できる子プロセスの数
(2) 配信・中継ホストのコンピュータパワー
未定義な単語ですが、次のような能力の総合力という意味
CPU能力、
記憶装置へのデータ転送能力、
ネットワーク転送能力
処理方法、i.e. 送信メイルの扱い(メモリ上で展開・ディスクへ移送)
(3) 中継するホストのMTAの IDENT (RFC 1413) protocol サポート
sendmail ならばコンパイル時の設定
APENDDEF(`conf_sendmail_ENVDEF', `-DIDENTPROTO=0')
(ident を全く出さない sendmailがあるそうです。)
(4) 配信ホスト側での IDENT ポートの扱い
或いは、遅れても中継されているのでこのような遅延はメイルシステムに
内在するとして無視する。
総合的に見れば、送信能力の高いホストを利用し、短い時間で再送すれば
解決するのでしょうが受信側の負担が増えるのでありがたく無い行動とも
言えます。
ISPでも、次のようなところがあります。
・最初だけ2度送って来てその後送信間隔時間経過後送ってくる
・再送間隔時間を再送回数の関数としている。
(再送回数が増すと時間間隔を大きくしている)
・送信間隔を RFC で希望している 30 分より短い時間を設定
・送信間隔時間など無視して再送を繰り返す。
-- 早間 義博
Follow-Ups: References:
- [linux-users:105023] Re: usbのフロッピーからのboot時にSATAドライバーをインストールしたいtaniguchi
- [linux-users:105024] Re: usbのフロッピーからのboot時にSATAドライバーをインストールしたいTakeshi Kusune
- [linux-users:105025] sendmailでSMTPのリレーがうまくいかないAgyou Kondo
- Prev by Subject: [linux-users:105030] ボタンメニューの文字化け
- Next by Subject: [linux-users:105032] Re: sendmailでSMTPのリレーがうまくいかない
- Previous by thread: [linux-users:105029] Re: sendmailでSMTPのリレーがうまくいかない
- Next by thread: [linux-users:105032] Re: sendmailでSMTPのリレーがうまくいかない
- Indexes:[Main][Thread]