slocal(1) FreeBSD 一般コマンドマニュアル

slocal

前のページ 上に戻る 次のページ

slocal



SYNOPSIS

       /usr/local/lib/mh/slocal [address info sender]
            [-addr address] [-info data] [-sender sender]
            [-user username] [-mailbox mbox] [-file file]
            [-maildelivery deliveryfile] [-verbose] [-noverbose]
            [-debug] [-help]


DESCRIPTION

       slocal は、選択基準の複雑な設定に応じて、届いたメールを 処
       理 するように設計されたプログラムです。通常、slocal は手動
       で起動するのではなく、システムのメッセージ配送エー ジェ ン
       ト(MTA) が代わって slocal を起動します。

       slocal   で 使われるメッセージ選択基準は、ユーザーのホーム
       ディレクトリにある .maildelivery ファイルに書かれます。 こ
       のファイルのフォーマットは以下にあります。

       メッ セ ージ配送アドレスとメッセージ送り主は、可能であれば
       メッセージ配送エージェント(MTA) のエンベロープ情報によって
       決定されます。 SendMail を使用している場合、もしあれば、送
       り主は UUCP "From " 行から取得されます。コマンド・ライン引
       数もしくは `-addr' と `-sender' オプションの引数で、これら
       の値を置き換えるが出来ます。

       メッセージは通常、標準入力から読み込まれます。標準入力から
       読み込む代わりに、`-file' オプションで、メッセージが読み込
       まれるべきファイル名を指定することが出来ます。 `-user'  オ
       プションは、メールを配送するユーザー名を slocal に教えるも
       のです。 `-mailbox' オプションは、ユーザーのメールドロップ
       ファイル名を slocal に教えるものです。

       `-info' オプションは、あなたに代わって slocal が呼び出した
       サブプロセスに、任意の引数を渡すのに使われ ま す。  `-ver-
       bose' オプションをつけると、 slocal は実行中の動作を標準出
       力に出します。 `-debug' オプションをつけると、より詳細なデ
       バッグ出力を標準エラー出力(stderr)に出します。


   B>メB>ッB>セB>ーB>ジB>配B>送B>エB>ーB>ジB>ェB>ンB>ト(MTA)
       もし、使用している MTA が SendMail であるなら、

                "| /usr/local/lib/mh/slocal -user username"

       という行を、ホームディレクトリの .forward ファイルに含んで
       いればよいです。これにより、SendMail が代わりに slocal  を
       起動してくれます。

       も し使用している MTA が MMDF-I であれば、ホームディレクト
       リに、/usr/local/lib/mh/slocal を bin/rcvmail として (シン
       ボ リッ ク)   リンクしておけばよいです。これにより、正しい
       "address info sender" 引数で、 MMDF-I が代わりに slocal を
       起動します。
       は、その前にバックスラッシュをつけて含めることができます。
       `#'  で始まる行は無視されます。 .maildelivery ファイルの各
       行のフォーマットは次の通りです。


            header    pattern   action    result    string

       header:
            パターンを検索するヘッダ名。メッセージ・ヘッダにあ り
            う る全てのフィールド。次の特別なフィールドも定義され
            ています。

            source    送り主情報(MTA のエンベロープから取得。もし
                      くは Sendmail であれば UUCP From から)
            addr      送信先情報(MTA のエンベロープから取得)
            default    メッセージがどれにも配送されなかった場合の
                      みマッチ
            *         全てにマッチ

       pattern:
            特定のヘッダー行にマッチする文字列の並び。マッチン グ
            には大文字/小文字は関係ありませんが、正規表現は使えま
            せん。

       action:
            メッセージ配送のために行なうアクション

            destroy   読まずに捨てます。このアクションは常に成 功
                      します。

            file  もしくは >string で指定されたファイルに追加しま
                      す。メッセージは、メッセージ 配 送 シ ス テ
                      ム(MTS)  に使われたメールドロップ形式でファ
                      イルに追加されます。メッセージがファイル に
                      追 加することが出来れば、このアクションは成
                      功します。ファイルに書き込み中に、この メッ
                      セ ー ジ が ファ イルに追加された日時を示す
                      "Delivery-Date: date" ヘッダが付け加えら れ
                      ます。

            mbox      file と同義です。しかし常に、packf で使われ
                      るフォーマット (MMDF の mailbox フォー マッ
                      ト) でメッセージが追加されます。

            pipe もしくは |メッセージを string で指定されたコマン
                      ドへ、標準入力 で パ イ プ し ま す。 こ の
                      際、string   を 解 釈 するのに Bourne shell
                      sh(1) を使います。シェルに文字列を 送 る 前
                      に、次の内蔵変数に展開されます。

                      $(sender) 送り主情報(MTA のエンベロープ情報
                                から。もしくは Sendmail であれ ば

       result:
            アクションがどの様に実行されるべきかを示します。

            A         アクションを実行します。アクションが成功 す
                      れ ば、 メッ セージは配送されたと見なされま
                      す。

            R         アクションを実行します。アクションの結果 に
                      も 関わらず、メッセージは配送されたと見なさ
                      れません。

            ?         メッセージが配送されていない時の み、 ア ク
                      ショ ン を 実行します。アクションが成功すれ
                      ば、メッセージは配送されたと見なされます。

            N         メッセージが配送されておらず、前のアク ショ
                      ン が 成 功した時のみ、アクションを実行しま
                      す。アクションが成功すれば、メッセージは 配
                      送されたと見なされます。

       要約すると、例として、

       #field   pattern   action  result    string
       # `#' で始まる行は無視され、空行として扱われます
       #
       # "To:" 行に mmdf2 とあるものは、mmdf2.log にファイルされます
       To       mmdf2      file      A      mmdf2.log
       # mmdf からのメッセージを err-message-archive というプログラムにパイプします
       From     mmdf       pipe      A      /bin/err-message-archive
       # "Sender:" アドレスが "mh-workers" であるものは、
       # まだファイルしてないなら、mh.log にファイルされます
       Sender   mh-workers file      ?      mh.log
       # "To:" unix なら、unix-news ファイルへ出力します
       To       Unix         >       A      unix-news
       # アドレスが jpo=ack なら、受け取り通知を返送します
       addr     jpo=ack      |       R      "/bin/resend -r $(reply-to)"
       # steve からのは、全部 destroy (読まずに捨てる)
       From     steve     destroy    A      -
       # これでもまだマッチしないものは、mailbox へ落します
       default  -            >       ?      mailbox
       # rcvtty を常に走らせる
       *        -            |       R      /mh/lib/rcvtty

       ファイルは常に全部読まれます。よって複数マッチする可能性が
       あり、マッチした分、アクションを実行します。 .maildelivery
       ファイルは、owner がユーザーかルートでなくてはならず、書き
       込みは owner によってのみ可能でなく て は な り ま せ ん。
       .maildelivery ファイルが見つからない、もしくはメッセージを
       配 送 す る ア ク ショ ン を 実 行 で き な い 場 合  は、
       /usr/local/lib/mh/maildelivery   ファ イルを同様のルールに
       従って読まれます。このファイルは、owner がルートで、ルート
       /dev/null にセットされます。他の全てのファイル記述子はクロ
       ーズされます。環境変数 $USER$HOME$SHELL は適切にセット
       され、その他の環境変数はありません。

       プロセスには、実行するためにある時間を与えられます。もしプ
       ロセスがこの制限以内に終了出来なかったら、プロセスは終了さ
       れ ま す。 この時間は、size をメッセージのバイト数として、
       ((size × 60) + 300) 秒として計算されます。

       プロセスの終了ステータスは、アクションが成功したかどうかに
       応じます。終了ステータスがゼロであれば、アクションは成功し
       たことを意味します。これ以外の終了ステータス (もしくは異常
       終了) はアクションが失敗したことを意味します。

       時間制限を避けるために、あなたは、forking によって開始する
       プロセスを実行しようとするかも知れません。親プロセスはすぐ
       に適切な値を返すだろうし、子プロセスは必要とするだけ長く実
       行し続けることが出来ます。このやり方は、親プロセスが終了ス
       テ ータス 0 を返す時は、いくらか危険です。親プロセスが終了
       ステータス 非0 を返す時は、このやり方で、メール・ドロッ プ
       に素早く配送させることが出来ますが。


FILES

       /usr/local/lib/mh/mtstailor         テイラー・ファイル
       $HOME/.maildelivery                 ローカル配送を制御するファイル
       /usr/local/lib/mh/maildelivery      標準のファイルに代わる
       /var/mail/$USER                     デフォルトのメールドロップ


SEE ALSO

       rcvstore(1), mhook(1), mh-format(5)


DEFAULTS

       `-noverbose'
       `-maildelivery .maildelivery'
       `-mailbox /var/mail/$USER'
       `-file' デフォルトは標準入力
       `-user' デフォルトは現在のユーザー


CONTEXT

       無し。


HISTORY

       slocal  は、MMDF-II で提供されている maildelivery 機構と逆
       互換性があるように設計されています。だから、slocal の機 能
       性 であるように、 .maildelivery ファイルの文法が制限されて
       います。

       0 終了ステータスに加えて、MMDFRP_MOK (32) と RP_OK (9)
       という値を取ります。これは、メッセージが完全に配送された、
       という意味です。異常終了も含むそれ以外の非 0 終了ステー タ
       ス では、 MMDFRP_MECH (200) として解釈します。これは、
       別のルートを使った、という意味です (メールドロップにメッセ
            default -  pipe  A  "bin/rcvmail  $(address)  $(info)
       $(sender)"



[mh.6]                        MH.6.8                    SLOCAL(1)

ABELNET VPSサービス