1 FML NT Version について
1.1 Introduction
マルチプラットホーム環境を前提としているFMLシステムにとってNT ports は
一つのヴァリエーションにしか過ぎません。
注意: なお最初に言っておきたいと思いますが、NT自体そしてNT上での
sendmail, bind, perl自体についてはよく知らないので聞かれても困ります。
各売り物/share wareなどについては直接販売元に聞いて下さい。
Unix 版とほとんど同じコードが NT 上でも動きます。一部 Win32 perl
module を使い吸収できるシステムコールの違いはインストール時にソースを
自動的に書き換えることで対処しています。できないものについてはエミュレー
ションしていますが、UNIXより機能は劣ります。
『ファイルの取り寄せ(get mget コマンド) やまとめおくりで tar や
gzip を使う』などの Unix のコマンドに依存したコードは動きません。
# GNU binutils 入れると動くのかな?(試してない)
普通の get コマンドや MIME/Multipart 形式での mget などは Unix のコマ
ンドに依存していないので問題はありません。そのためファイル取り寄せのデ
フォールトは MIME/Multipart にするなどのデフォールトの変更が加えられて
います。
1.2 必要なものとテスト環境
MTA と ntperl が必要です。テストには activestate の ntperl を使ってい
ます。それ以外の perl ports for NT で動くのかどうかは未確認です。動い
たら教えて下さい:)
なおマスターソースのテストは
i486 architecture
NT 4.0 service pack 1
Pw32i307.exe
ataman rlogind
MetaInfo Sendmail 2.x
で行なったものです。
1.3 2種類の fml for NT4
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サーバーから持ってきてそれを自分で処理しています。
1.4 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 をかけます。詳しくはマニュアルを参照
して下さい。
makefml が最初に 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 版ではうまくいか
ないようです(過去にやった限りでは)。
1.5 基本的な動作原理(POP version)
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
popfml.pl
とってきたメール → fml.pl を起動
* マスタープログラムである ntfml.pl の動作
ntfml.pl (ずっとはしっている)の無限ループ {
popfml.pl を3分に1回起動
elena ML の場合
(ユーザ名 elena のメールボックスを除く)
→ POPサーバー
←
○もしメールがあれば ○なければそのまま終り
popfml.pl
↓
fml.pl を起動
}
のようになります。つまりMLの実体はメールサーバーのユーザ名そのものにな
ります。それをメールソフトのようにPOPで読んできて無理やりMLを実行して
しまうという仕組みです。
[NEXT CHAPTER]
Copyright (C) 1993-1999 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.
#
# Copyright (C) 1993-1999 Ken'ichi Fukamachi
# All rights reserved.
# 1993-1996 fukachan@phys.titech.ac.jp
# 1996-1999 fukachan@sapporo.iij.ad.jp
#
# FML is free software; you can redistribute it and/or modify
# it under the terms of GNU General Public License.
# See the file COPYING for more details.