1. DJB/netqmail/man/dot-qmail

1.1. dot-qmailの使い方 (前野年紀 訳)

dot-qmailはメイルメッセージの配送を制御します。

しかし、 別のファイルやディレクトリへの配信、 別アドレスへの転送、メイリングリストへの配送、 あるいはプログラムの実行なども指定できます。

1.2. dot-qmailファイルの書き方

配送方法を指示するにはホームディレクトリに '.qmail'(dot-qmail)ファイルを作って 「行単位」に配送の指示を書きます。

訳注: 拡張アドレスの項も参照のこと。参照するdot-qmailファイルが異なる。-- ToshinoriMaeno 2021-04-28 11:32:24

指示には (1) コメント (2) プログラム (3) 転送アドレス (4) mbox (5) maildir の五種類があります。

「コメント」行は'#'文字で始めます。コメント行は無視されます。

        # this is a comment

「プログラム」行は'|'(バー)で始めます。 qmail-localは行の残り部分をshに引数として渡します。

        | preline /usr/ucb/vacation djb

「転送」行は'&'で始めます。残りの部分はメイルアドレスです。

        &me@new.job.com

        # the following examples are WRONG
            &me@new
            &<me@new.job.com>
            & me@new.job.com
            &me@new.job.com (New Address)

「mboxファイル」行は '/'または'.'で始めます。 '/'で終えてはいけません。

        /home/djb/Mailbox.sos

「maildir(メイルディレクトリ)」行は '/'または'.'で始まり、'/'で終る行です

        /home/djb/Maildir/

1.3. dot-qmailについての注意

dot-qmailのexecute bitがセットされている場合、プログラム、mbox、maildirの行を 含めてはいけません。

dot-qmailが存在しないか、完全に空(長さ0)の場合、qmail-localは システム管理者が設定した aliasempty の配送指示に従います。 通常、aliasempty は './Mailbox' と設定されているので、 メイルはmbox形式でMailboxに追加書きされます。

dot-qmailには行末に余分の空白、タブを含んでいても構いません。

dot-qmailがグループあるいはワールドに書き込み可能の場合、 qmail-localは配送を中止し、一時エラーを報告します。

1.4. dot-qmailファイルの安全な編集方法

メイルは届く時刻が決っていません。 dot-qmailファイルを安全に編集するには以下のようにしてください。

        chmod +t $HOME

        chmod -t $HOME

        qmail-local -n $USER ~ $USER '' '' '' '' ./Mailbox

1.5. 拡張アドレス

qmailではユーザ(user)は自分のアカウントであるuserだけでなく、user-anythingという形式のメイルアドレスも管理します。

(ただし、システム管理者はこの方式を変更することが出来ます。../qmail-users(5)を参照)

一般ユーザ以外のアドレスは疑似ユーザaliasが管理します。

以下の記述ではqmail-localは local@domain宛のメイルを扱っているものとします。

警告:

qmail-localは安全のためにext中の点(dot)はすべて コロン(colon)で置き換えてから.qmail-extを調べます。
 また、使用の便宜のため、ext中の英大文字は英小文字に変換します。 

1.5.1. 転送と .qmail-ext-owner

メイルを転送する場合、 .qmail-ext(または.qmail-default)に設定しますが、 そのとき、.qmail-ext-ownerの有無を調べます。

ただし、表書き発信者が空アドレスや#@[]の場合、 つまり差戻しメイルの場合、元表書き発信者を保存します。

1.5.2. VERP

qmail-localはVERPs variable envelope return pathsを実装しています。

1.6. エラー処理

配送指示がフェイルすると、qmail-localは直ちに処理を停止し、フェイルを報告します。

プログラム(行)がexit code 99を返すと、qmail-localはdot-qmailの以降の行を 無視しますが、その時までに出会った転送行の処理は行います。 (訳注: 配送は成功したものとして扱われる。qmail-commandを参照)

他の一時的あるいは永続的エラーの影響を受けないように、 それぞれ完全に独立した指示を書きたいときには

つまり、 .qmail-extというファイル群を作っておいて、 中心になるdot-qmailにはこれらに転送する指示を書くのです。 qmail-localが多くの転送行を同時に扱えることに注目してください。


envelopes(5), maildir(5), mbox(5), qmail-users(5), qmail-local(8), qmail-command(8), qmail-queue(8), qmail-lspawn(8)

MoinQ: DJB/netqmail/man/dot-qmail (last edited 2021-04-28 11:42:50 by ToshinoriMaeno)