Debian パッケージ courier-maildrop

reformail

名称

reformail -- 電子メールの整形

書式

reformail {-s} {program} [arg...]

reformail {-D} {len} {filename}

reformail {-x header:...}

reformail {-X header:...}

reformail [options...]

説明

reformailはメッセージを標準入力から読み取り、 なんらかの整形を行い、標準出力へ出力します:

メールボックスを個別のメッセージに分解

-sオプションは mbox形式のメールファイルを標準入力から読み込んで、 個別のメッセージへ分解します。 個別のメッセージごとに外部プログラムが起動されます。 個別のメッセージは外部プログラムの標準入力になります。

もし環境変数FILENOに数値が設定されている場合、 reformailは個別のメッセージで外部プログラムを起動するごとに FILENOをインクリメントします。

FILENOが設定されていない場合、"000"に初期化されます。 FILENOが数値以外の場合、 FILENOは変更されません。

重複メッセージの削除

-D オプションは到着メールの重複を削除するための簡単な方法を提供します。 filename は大きさ約'len' バイトになるファイルです。 このファイルにreformailが最近到着したメールのメッセージIDを書き込みキャッシュします。 reformailはメッセージを標準入力から読み込み、 メッセージの Message-ID: ヘッダがすでにキャッシュファイルにある場合、reformail は終了コード0で終了します。そうでなければ、reformail は終了コード1で終了します。

ヘッダの取り出し

-xオプションと-Xオプションは指定されたヘッダをメッセージから取り出し、 標準出力へ出力します。 複数の -xオプション、-X オプションは複数どちらでも指定できます。

-xオプションはヘッダの中身を出力します。 -Xオプションはヘッダ名もあわせて出力します。

オプション

上記以外の場合、reformail は標準入力からメッセージを読み込んだメッセージに 以下のような整形を行い標準出力に出力します:

-a'header: value'

指定されたヘッダがなかった場合これを追加します。 もし指定されたヘッダがMessage-ID:Resent-Message-ID: で、値が指定されない場合、 reformailが適当な一意(と思われる)の値を設定します。

-A'header: value'

指定されたヘッダがもし存在してもこれを追加します。 もし指定されたヘッダがMessage-ID:Resent-Message-ID: で、値が指定されない場合、 reformailが適当な一意(と思われる)の値を設定します。

-c

複数行にわたるヘッダを結合します。複数行に分割されたヘッダを1行にします。

-dn

n が 1の場合、改行コードをCRLFにします。 n が 0の場合(デフォルト)、改行コードをLFにします。 reformail はどちらの改行コードでも読み込みますが、 強制的に指定の改行コードにします。

-f0

もし "From_" ヘッダ行があったら、削除します。

-f1

もし "From_" ヘッダ行がなかったら、追加します。reformail は "From_" 行を Errors-To:ヘッダか、Return-Path:ヘッダ、あるいは From: ヘッダの内容から作成します。 reformailが判断できなかった場合は "root" になります。

-i'header: value'

指定したヘッダを追加します。もしすでに存在していたらそのヘッダの名称が"Old-"を前に付けたものに変更されます。

-I'header: value'

指定したヘッダを追加します。すでに存在していたら既存のヘッダの中身は 完全に置き換えられます。 もし追加するヘッダのvalueが空の場合、既存のヘッダは削除され、 何のヘッダも追加されません。

-k

-rオプションで自動返信用のヘッダを作成するときに、 元の内容を含めます。

-p'prefix'

-rオプションと -kオプションを指定して自動返信用メッセージに元の内容を含める時の、 引用記号を指定します。標準では "> "です。

-P'salutation'

-rオプションと-kオプションを指定して自動返信用メッセ—ジを作成する時の、 あいさつ文 (salutation) を指定します。 下記 自動返信 を参照してください。

-r

このメッセージの自動返信用ヘッダを作成します。 このオプションは電子メールあるいはUsenetニュースのどちらでも使用できます。 (reformailはIn-Reply-To: ヘッダと References: ヘッダを両方作成します。) Usenetニュース用に作成する場合は、 -tオプションもあわせて指定した方がいいでしょう。

-t

-rオプションによる返信先アドレスを、ユーザ作成のヘッダから得ます。 指定されない場合、reformail はマシン作成のヘッダを見ます。

-R oldheader: newheader:

指定のヘッダの名前を変更します。

-u'header:'

指定したヘッダが複数回現れる場合、最初の1つを除いて削除します。

-U'header:'

指定したヘッダが複数回現れる場合、最後の1つを除いて削除します。

自動返信

-rオプションはメッセージの単なる整形ではなく、自動返信用のヘッダを作成します。 電子メールあるいはUsenetニュースに対する返信どちらでも -rオプションだけで作成できます。 ( reformailIn-Reply-To:ヘッダと References: ヘッダを両方作成します。)

To: ヘッダには元のメッセージを送ったと思われる送信者が設定されます。 送信者を決定するために、reformailはユーザ作成のヘッダ ( From:Reply-To:) ではなく、 マシンが作成したヘッダ ( Errors-To:Return-Path:) を参照します。

-tオプションを指定すると、reformailはマシン作成のヘッダではなく、 ユーザ作成のヘッダを参照するようになります。

-raオプションを指定すると元のメッセージのTo:ヘッダを自動返信にコピーします。 -rAオプションを指定すると元のメッセージのTo:ヘッダと Cc:ヘッダをコピーします。

通常、元のメッセージの内容は削除されます。 -k オプションを指定すると、元のメッセージの内容は "> "を行頭につけて返信メッセージに含められます。 -pオプションにより引用記号は変更できます。

引用部分の前には-Pオプションで指定したあいさつ文が付けられます。 指定しなかった場合、あいさつ文は標準で "%F writes:%n" になります。 あいさつ文の指定では、 %記号のあとの文字指定により、 元のメッセージのなんらかの情報に置き換えることができます:

%C

元のメッセージのX-Newsgroup:ヘッダの内容に置き換えられます。

%d

元のメッセージのDate:ヘッダの内容に置き換えられます。

%f

元のメッセージの送信者名に置き換えられます。

%F

元のメッセージの送信者名に置き換えられます。 送信者名がない場合は、メールアドレスが用いられます。

%i

元のメッセージのMessage-ID:ヘッダの内容に置き換えられます。

%n

%n は改行コードを挿入します。

%N

元のメッセージのNewsgroups:ヘッダの内容に置き換えられます。

%s

元のメッセージのSubject:ヘッダの内容に置き換えられます。

バグ

-a-A-Iオプションにおいて、ヘッダ名とコロンの後にスペースを置くと、 空でないフィールドとみなされます。

同類のヘッダ変更オプションを同じヘッダ名に対して使用しないでください。 例えば-u/-U-a/-Aです。予期しない結果になることがあります。 必要なら (パイプ等を用いて) reformailを複数回起動してください。

SEE ALSO

courier(8), sendmail(8), mailbot(1), maildrop(1).