[PREVIOUS CHAPTER] [NEXT CHAPTER]
2 fml NT バージョンのしくみ


マルチプラットホーム環境を前提としている fml システムにとって NT ports 
は一つのバリエーションにしか過ぎません。
そのため、Unix 版とほとんど同じコードが NT 上でも動きます。

『ファイルの取り寄せ(get mget コマンド) やまとめ送りで tar や 
gzip を使う』などの Unix のコマンドに依存したコードは動きません。
# GNU binutils 入れると動くのかな?(試してない)

普通の get コマンドや MIME/Multipart 形式での mget などは Unix のコマ
ンドに依存していないので問題はありません。そのためファイル取り寄せのデ
フォールトは MIME/Multipart にするなどのデフォルトの変更が加えられて
います。

注意: なお最初に言っておきたいと思いますが、NT自体そしてNT上での
sendmail, bind, perl自体についてはよく知らないので聞かれても困ります。
各売り物/share wareなどについては直接販売元に聞いて下さい。

2.1	2 種類の NT 用 fml

NT4 の上での MTA の多くはSMTPとPOPしかできません。売り物には MTA から 
program を起動する(以下 prog mailer とよぶ)ことができるものもあります。
どれなら prog mailer が動いてどれだとできないというリストはありません。
MetaInfo で成功したことがあるという事例があるだけです。

そのため fml for NT4 にはMTA と ntperl の2つの種類があります。それは

	1.	UNIX と同様に動かすもの (prog mailer タイプ) 
	2.	POP3 をつかうもの	(pop タイプ)

の2種類です。タイプ1は現在のところ事実上 MetaInfo Sendmail 用でUNIX と
同様の設定になります。一方タイプ2は(後述しますが)、 fml がPOPでメールを
POPサーバから持ってきてそれを自分で処理しています。


2.2	MetaInfo Sendmail の場合 (prog mailer タイプ)

MetaInfo Sendmail では prog mailer で動くので UNIX Version と基本的に
同じになります。POP版のように ntfml.cmd をずっと走らせるなどは必要あり
ません(後述)。

現在のインストーラー(2.1A#6以降)では MetaInfo Sendmail なのかそれ以外
かを聞いてきます。MetaInfo を選んだら、そのまま INSTALL ドキュメントの
通りに進んで、aliases をシステムの aliases に cut & paste して 
sendmail -bi などとし newaliases をかけます。詳しくはマニュアルを参照
して下さい。

make fml が最初に prog mailer か POP mailer かを聞くので、作られる見本
ファイルも異なります。例えば aliases や include.cmd は MetaInfo 用の見
本です。インストール後にMTAを変更する場合などは気を付けて下さい。

aliasesは include.cmd include-ctl.cmd をプログラムとして呼び出すように
設定されています。include.cmd の中では wrapper.pl が起動されそれが 
 fml .pl を呼び出します。wrapper.pl は一時間たっても fml .pl が動いている
なら強制的に終了させます。これだけで配送とコマンドシステムは動きます。

まとめ送りは 各 ML にできる msend.cmd というプログラムを定期的に動か
す必要があります(ぼくは設定の仕方知りませんが…まっとうなOSには普通そ
ういうプログラムがあるとおもう)。後は INSTALL を読んでPATHとかは適当に
解釈して下さい。

NT 版では MTA に配送をまかせようとしてMTAに拒否されたらそこで配送は失
敗します(スプールや番号のインクリメントはされます。配送だけは失敗)。こ
の際 UNIX 版では sendmail を起動して送り込みますが NT 版ではうまくいか
ないようです(過去にやった限りでは)。


2.3	fml POP バージョンの場合

NT の多くのMTAでは sendmail が受けとってもその後にプログラムを起動して
くれません。そのため ML の名前の POP アカウントを作ります。 fml はPOP 
でPOPサーバから ML 宛のメールを引きだし fml へ渡すという裏技(苦肉の技)
でメーリングリストを動かすことになります。これは元々は UNIX でPOPしか
させてくれないような場合になんとか ML を実行するために考出された方法が
転用されています(作ったのは1995年ごろの話)。このPOP版は次のような感じ
で動いています。

* prog mailer 版
* prog mailer version

	メール → sendmail → fml .pl を起動

* POP 版

	メール → sendmail → スプール

				↑↓ POP3

				pop fml .pl 
				  とってきたメール → fml .pl を起動

* マスタープログラムである ntfml.pl の動作

ntfml.pl (ずっとはしっている)の無限ループ {

	pop fml .pl を3分に1回起動

		elena ML の場合
		(ユーザ名 elena のメールボックスを除く)

			→	POPサーバ 
			←

	○もしメールがあれば		○なければそのまま終わり
	pop fml .pl
		↓
		fml .pl を起動

    }

のようになります。つまりMLの実体はメールサーバのユーザ名そのものにな
ります。それをメールソフトのようにPOPで読んできて無理やりMLを実行して
しまうという仕組みです。


[PREVIOUS CHAPTER] [NEXT CHAPTER]
Copyright (C) 1993-2001 Ken'ichi Fukamachi
All rights of this page is reserved.

# This Document(html format) is automatically geneareted by fwix.pl. 
# fwix (Formatter of WIX Language) is fml document formatter system
# designed to generate plaintext, html, texinfo and nroff from one file.