mail2news(1) NetBSD Reference Manual mail2news(1)
In English.
名称
mail2news --メーリングリストの記事をローカルニュースとして投稿する
書式
mail2news [ -f cf_file ] [ -n newsgroup ] [ -m d ] [ serverhost ]
mail2news -v
解説
Mail2news は mail の内容を news 形式に変換して内容を newsgroupnnrpd(8) を用いて投稿するプログラムです。 もしも引数として newsgroup が与えられなければ mail2news は適当なニュースグループを conf_file に記述されたルールにもとづいて決定します。

もし serverhost 引数が与えられれば、ニュースサーバとして用いられます。 デフォルトのサーバは環境変数 NNTPSERVER から決定されます。 もしも NNTPSERVER が設定されておらずなおかつ引数として サーバ名が与えられていなければ mail2news はコンパイル時に決められる DEFAULT_SERVER を ニュースサーバとして用います。

Mail2news はデフォルトでは /usr/local/share/mailtonews/mailtonews.conf の中に記述されている変換テーブルを読み込みます。 別の設定ファイルを使う場合は -f オプションで指定できます。設定ファイルの書式については以下で 述べます。

次に mail2news は標準入力から unix mail を読み込み、そのコピーを一時ディレクトリに 保存した後、ニュースに投稿するためのファイルを作成します。これらの 一時ファイルはニュースサーバが記事を受けとれば、その後に消去されます。 もし、記事が受けとられなければ mail2news は元のメールのコピー、作成したニュース形式のファイル、および nnrpd(8) との通信の経過を一時ファイルに残します。

環境変数 TMPDIR が設定されていた場合、 mail2news はデフォルトの /var/tmp のかわりに一時ファイルをその directory の下に つくります。

mail2news は一時エラーの場合、75 を返しますが、それ以外のエラーの場合や正常終了の 際には 0 を返します。

変換規則

Mailtonews は、メールヘッダとニュースヘッダの違いを吸収するために幾つかの メールヘッダを変更します。

The following headers, if present, are removed: ``Date-Received:'', ``Followup-To:'', ``From'' (Unix_from) , ``NNTP-Posting-Host:'', ``Posted'', ``Posting-Version:'', ``Received:'', ``Relay-Version:'', ``X-UIDL'', and ``Xref:''.

Following headers treated specially.

In-Reply-To:: このヘッダは送信者がリプライした元メールの message-id を含んでいる場合が あります。そのため、 mail2news は message-id と思われる文字列を発見した場合それを Reference: ヘッダに加えます。

To:, CC:, Sender: and Deliverd-To:: これらのフィールドはメーリングリストの名称を含んでいると 期待されるので、 mail2news はこれらから対応するニュースグループ名を決定します。

From:: もし、このフィールドが "majordomo@" を含んでいる場合 mail2news はニュースとして投稿せずに、 root に転送します。この機能を 使うことによりメーリングリストを講読する為だけの user account を 使うことが容易になります。また改行文字が含まれていた場合は、 これを` ' (0x20) に置換します。

Message-Id:: いくつかのメーラやメーリングリストのプログラムは空白文字を含んだり ".>" で終ったり、@ と ">" の間に何もないようなニュースとして不適切な message-id を生成するようです。これに対応するために Mail2news は、それぞれの場合に対応して、空白文字を dot(.) に変え、">" の直前の dot を消去し、送信者のホスト名を加えることにより message-id を変更します。 もし、 mail2news が message-id を変更した場合、もとの message-id は X-M2N-Message-Id: というヘッダに現れます。

その他のヘッダは、重複していない限り、ニュース記事にコピーされます。 最後に mail2newsX-M2N-Version: へっだに自分のバージョンを記述します。

設定ファイル

設定ファイル mailtonews.conf は一つの行にメーリングリストと対応する ニュースグループを書きます。この2つは一つ以上の空白文字で区切られていなければ なりません。``#'' からはじまる行はコメントとしてとりあつかわれます。 少なくともメーリングリストのアドレスは小文字で書かれていなければ なりません。

使用例

このコマンドは /etc/aliases に次のように記述して用いられることを 想定しています。

netbsd: "| /usr/local/bin/mail2news"
mailtonews.conf ファイルの例

典型的な mailtonews.conf ファイルは次のようなものです。

# Mailing List Name Newsgroup Name
current-users@netbsd.org netbsd.current
netbsd-announce@netbsd.org netbsd.announce
netbsd-bugs@netbsd.org netbsd.bugs
netbsd-help@netbsd.org netbsd.help
netbsd-ports@netbsd.org netbsd.ports
netbsd-questions@netbsd.org netbsd.help
netbsd-users@netbsd.org netbsd.users
port-i386@netbsd.org netbsd.ports.i386
port-alpha@netbsd.org netbsd.ports.alpha
source-changes@netbsd.org netbsd.source
変換の例

上でのべられた設定ファイルを用いると、

Received: from tera.fukui-med.ac.jp (root@tera.fukui-med.ac.jp [192.168.84.21])
	by tack.fukui-med.ac.jp (8.8.5/8.8.5/tack970715) with ESMTP id WAA07763
	for <gnats-bugs@gnats.netbsd.org>; Fri, 8 Aug 1997 22:04:35 +0900 (JST)
Received: (from tacha@localhost)
	by tera.fukui-med.ac.jp (8.8.6/8.8.5/tera970421) id WAA11611;
	Fri, 8 Aug 1997 22:04:31 +0900 (JST)
Message-Id: <199708081304.WAA11611@tera.fukui-med.ac.jp>
Date: Fri, 8 Aug 1997 22:04:31 +0900 (JST)
From: Tatoku Ogaito <tacha@tera.fukui-med.ac.jp>
Reply-To: tacha@tera.fukui-med.ac.jp
To: netbsd-bugs@netbsd.org
Cc: current-users@netbsd.org
Subject: this is just example

の様な mail header は

Message-Id: <199708081304.WAA11611@tera.fukui-med.ac.jp>
Date: Fri, 8 Aug 1997 22:04:31 +0900 (JST)
From: Tatoku Ogaito <tacha@tera.fukui-med.ac.jp>
Reply-To: tacha@tera.fukui-med.ac.jp
To: netbsd-bugs@netbsd.org
Cc: current-users@netbsd.org
Subject: this is just example
Newsgroups: netbsd.bugs,netbsd.current

の様に書き直されます。

Notes

Mail2news は元のメールの message-id をニュース用の message-id に流用するために nnrpd(8) は複数のメーリングリストを通して送られてきたメールを拒否します。 その場合すでに cross post 処理が行われているはずなので mail2news は、そのエラーを無視し一時ファイルを消去します。

FILES
/var/tmp/mn_XXXXX/mail Original Mail file.
/var/tmp/mn_XXXXX/news Converted file.
/var/tmp/mn_XXXXX/err Error output of while execution.
mailtonews.conf conversion table from Mailing list name to newsgroup.
バグ

mail2news は独自のルールに基づいて Message-Id を書き直しますが Reference: にたいしては何も行いません。

ニュースとして投稿しない場合に転送されるユーザは configuration file に記述できるべきです。

SEE ALSO
innd(8), newstomail(1)
歴史

mail2news は OLNS Software の mailtonews を元にしていますが、大幅に書き直されています。

Sources
ftp://tack.fukui-med.ac.jp/pub/tera_utils/mail2news.tar.gz
TERA January 13, 1998 Exp