= DJB/netqmail/man/man8/qmail-smtpd = http://man.qmail.jp/jman8/qmail-smtpd.html#rcpthosts <> == qmail-smtpd - SMTP経由のメイル受信 == badmailfrom localiphost rcpthosts smtpgreeting timeoutsmtpd === 形式 === qmail-smtpd === 説明 === qmail-smtpdは Simple Mail Transfer Protocol (SMTP)にしたがってメイルを受信する。 そして、qmail-queue を呼んでキューに登録する。qmail-smtpdの呼出しにはいくつかの環境変数を設定しておく必要がある。 tcp-environ(5)を参照。 ホップ数を数えるのはqmail-smtpdの責任である。 ReceivedまたはDelivered-Toヘッダが100以上あるメイルは 拒絶される。 qmail-smtpdは8BITMIMEとPIPELININGオプションを含むESMTPを実装している。 === TRANSPARENCY === qmail-smtpdはSMTPの改行(CR LF)をUNIXの改行(LF)に変換する。 LFがCRの後ではなく単独で現れた場合、一時エラーとする。そして、接続を切る。 理由は http://pobox.com/~djb/docs/smtplf.htmlを参照。 qmail-smtpdは長い行を含むメッセージや非ASCII文字を含む メッセージも受け取る。これらはSMTPプロトコルに違反しているが。 === CONTROL FILES === badmailfrom -- [ ] -- 受信拒絶発信アドレス 受信を拒否する表書き発信アドレス。 表書き発信者アドレスが badmailfromに載っている場合、 qmail-smtpdはメッセージに対する各表書き受信者アドレスを拒否する。 badmailfromに書く行は@hostという形でもよい。 このときhostというアドレス(ドメイン部)からのメイルは まったく受けとられない。 databytes -- 0 -- 受信メイルサイズの上限 受信メッセージの長さの上限、0は無制限を示す。 メッセージ長が上限を越えると、qmail-smtpd は恒久エラーを返す。 (一方、ディスクに領域がなくなったり、 qmail-smtpdが資源の上限まで使いきった場合には一時エラーを返す。) databytesはディスクに保存されるバイト数であって、 ネットワークを通過するバイト数ではない。 qmail-smtpdやqmail-queueのReceived行やenvelopeは含まない。 環境変数DATABYTESにより変更可能。 localiphost -- [me] -- IPアドレス対応ホスト 当ホストのIP アドレスに対応するホスト名 qmail-smtpdはIPアドレスを使った宛先アドレスを認識する。 自ホストのIPアドレスに対応しているbox@[d.d.d.d]という形の 表書き宛先アドレスがあった場合、[d.d.d.d]の部分をlocaliphost で置き換える。 この置き換えはrcpthostsの処理の前に行う。 morercpthosts -- [ ] -- 受信ドメイン一覧(2) (SMTPの)RCPTに現れてよいドメインの表(その2) rcpthostsとmorercpthostsの両方が存在する場合、 morercpthostsがrcpthostsに追加されたのと同じ効果を持つ。 morercpthostsを変更したときにはqmail-newmrhを忘れぬよう。 サイト数の目安: よく使う50のドメインをrcpthostsに書いて、 残りをmorercpthostsに置くのがよい。 rcpthosts -- [ ] -- 受信ドメイン一覧 (SMTPの)RCPTに現れてよいドメイン名。 rcpthostsに載っていないドメイン宛のメイルは受け取らない。 中継の設定:環境変数RELAYCLIENTが設定されているときには、rcpthostsを無視して、qmail-smtpdはすべてのメイルを受け付ける。 (FAQ 5.4.を参照) このとき、RELAYCLIENTの値を各受信アドレスの後につけ加える。 rcpthostsはワイルドカードを許す。 また、"@"を含まない宛先アドレスは常に通過を許される。 {{{ heaven.af.mil .heaven.af.mil }}} smtpgreeting -- [me] -- SMTP応答用ホスト名 SMTPの最初の挨拶文 なければqmail-smtpdは起動されない。 smtpgreetingの最初の語は現ホスト名でなければならない。 timeoutsmtpd -- [1200] -- SMTPデータ待ち時間 リモートのSMTPクライアントからの各データを待つ秒数 ---- tcp-env(1), tcp-environ(5), qmail-control(5), qmail-inject(8), qmail-queue(8), qmail-remote(8)