メーリングリスト管理への補助機能

メーリングリストでは、配信エラーが発生しエラー通知が返送されてきた場合
に、エラー通知の内容が貧弱で、本来どのアドレス宛のメールがエラーになっ
たのかが全く判らないことがあります。そこで、エラー通知に最低限含まれる
であろう情報を、メーリングリストの参加者に送るメールそれぞれで変化させ
ることによって、本来のアドレスを特定する方法が考えられます。

smtpfeed では -1 オプションを利用すると、SMTP でメールの相乗りを行わな
く(一回の SMTP で複数の宛先を指定しなく)なりますが、このとき同時にメー
ルの内容(ヘッダやエンベロープ)に変化を与えることも指定できます。

1) -F オプション

 -F オプションを指定すると、受信者毎に送られるメールのヘッダに
	To: (original recipient in envelope at HOST) RECIPIENT
 というフィールドが挿入されます。HOST は smtpfeed が動作しているホスト
 の名前で、RECIPIENT はエンベロープの受信者アドレスです。

2) -F -F オプション

 -F オプションを2つ指定すると、受信者毎に送られるメールのエンベロープ
 の発信者アドレスが
	SenderUser+RecptUser=RecptDomain@SenderDomain
 という形式に変更されます。SenderUser@SenderDomain が本来のエンベロー
 プの発信者アドレスで、RecptUser@RecptDomain が本来のエンベロープの受
 信者アドレスです。ただし、本来のエンベロープの発信者アドレスが <> の
 場合は、この書き換えは行われません。この変換フォーマットは -S オプショ
 ンで変更することができます。

なお、-F オプションは -1 オプションと共に指定した場合にのみ効果を持ち
ますが、全てのメールに対して上記の機能を利用する必要はないことが多いの
で、-1 を最初から指定しておく代りに、以下の方法で選択的にこの機能を利
用することができます。

1) -S /path オプション

 /path に指定されているファイルにはアドレスを記述しておきます。このア
 ドレスのいずれかが、エンベロープの発信者アドレスと一致した場合、-1 オ
 プションが自動的に指定されます。

2) X-smtpfeed: ヘッダフィールド

 smtpfeed が扱うメールのヘッダ部分に X-smtpfeed: フィールドがあり、そ
 こに 1 という文字が記述されていると、-1 オプションが自動的に指定され
 ます。X-smtpfeed: フィールドは、その時点で削除されるので、送信される
 メールには含まれなくなります。

-1 オプションを常に指定するのはトラフィック効率上望ましくないので、定
期的な house keeping の際にこの機能を利用するようにすれば良いでしょう。
