とりあえずやってミタ

とりあえず技術的っぽいことをいろいろやってみるブログ

qmail-inject 日本語訳

   

qmail-injectを使ったスクリプトを書く必要があったので、おさらいついでに日本語訳
 参照元リンク:qmail-inject(8)


qmail-inect : メールメッセージを前処理して送る

概要

qmail-inject [ -nNaAhH ] [ -fsender ] [ recip … ]

解説

“qmail-inject”は標準入力からメールメッセージを読込み、適切な情報をメッセージヘッダーに加えたうえで一人もしくは複数の相手にメッセージを送るために”qmail-queue”を呼び出す。

“qmail-inject”がどのようにヘッダー情報を書き換えるかは”qmail-header(5)”を参照。

“qmail-inject”は通常は0を返す。不正な呼出しがされたり、メッセージに異常がある場合は100を返す。一時的なエラーが起きた場合は111を返す。


環境変数

“qmail-inject”を直接呼び出さないユーザーのために、いくつかのオプションは環境変数で設定できるようになっている。

ヘッダーの”From”に記されるユーザー名は、 QMAILUSER MAILUSER USER LOGNAME の何れか最初に設定されたものが使われる。

ホスト名は通常設定ファイルのdefaulthostで指定されるが、 QMAILHOST MAILHOST で上書きできる。

個人名は QMAILNAME MAILNAME NAME です。

エンベロープのデフォルトの送信元アドレスは、”From”のデフォルトのアドレスと同じだが、 QMAILSUSER QMAILSHOST で上書きできる。しかし後述する”r”と”m”記号によって適宜編集されることもある。バウンスするメッセージはこのアドレスに送られるはず。

環境変数”QMAILINJECT”では以下のオプションを設定できる。

c
“From”情報において”address-comment”のスタイルにする。通常は”qmail-inject”では”name-address”のスタイルとなっている
s
“Return-Path”情報を無視する。通常”Return-Path”情報を見つけると全ての環境変数で上書きされたアドレスをエンベロープの送信元アドレスに付加する。
f
“From”情報を見つけると削除する。通常”From”情報を見つけると、”qmail-inject”が生成した通常の”From”情報で上書きする。
i
“Message-ID”情報を削除する。通常”Message-ID”情報を見つけたら”qmail-inject”が生成した通常の”Message-ID”情報で上書きする。
r
送信先毎に”VERP”を使う。”qmail-inject”は送信先に送られるコピーされたenvelop senderに各送信者のアドレスを付加する
m
メッセージ毎に”VERP”を使う。envelop senderに現在日時とプロセスIDを付加する

オプション

-a
引数”recip”で指定された全てのアドレスにメッセージを送る。ヘッダーの送信先情報は使わない
-h
ヘッダー情報にある全ての送信先アドレスにメッセージを送る。転送メールでない場合は、”To”,”CC”,”BCC”,”Apparently-To”が該当する。転送メールの場合は、”Recent-To”,”Recent-Cc”,”Recent-Bcc”が該当します。引数”recip”は使わない。
-A
(デフォルト)引数”recip”で指定された全てのアドレスにメッセージを送信します。”recip”が指定されていなければ、ヘッダ情報の送信先アドレスに送信する
-H
ヘッダ情報で指定された送信先アドレスと引数”recip”で指定された全てのアドレスにメッセージを送信する。
-fsender
メッセージのエンベロープの送り元情報を”sender”で指定されたアドレスにして”qmail-queue”に渡す。”Return-Path”と全ての環境変数を上書きする。
-N
(デフォルト)”qmail-queue”にメッセージの結果を渡す
-n
“qmail-queue”に渡さずにメッセージ内容を出力する

 - メモ ,

  関連記事