--------------------------------------------------------------- 基本的な設計方針は以下のように表現できるでしょう。 1. 可能な限りユーザおよび ML 管理者 にとっての自由度をあげる 2. 「明示的な指定があって初めて機能は増やすべきである」 および 「管理者のルーチンワークを少しでも減らす」間の妥協をさがす --------------------------------------------------------------- [ドキュメント] [インストール] ○ makefml 対話設定プログラム (CUI) ○ CGI を使った対話設定プログラム (4.0 new) [一般] ◯ データベースアクセス機能 (4.0 new) メンバーリストをデータベースで管理する 記事をデータベースに格納する など… PostgreSQL MySQL LDAP (Leightweight Directory Access Protocol) ○ メッセージの多国語化 (3.0 new) ○ メモリ仕様効率の改善 (3.0 new) [セキュリティ] ○ 投稿メールのフィルタリング (2.2 new function) 例: 中身のないメールや'unsubscribe'一行だけのメールをはじく ○ フィルタ: Melissaウィルスチェック(2.2.1 new) ○ Message-ID Cache, system account rejection, ... against loop ○ トラフィックモニタ (2.2 new function) トラフィックを監視してバースト的に送ってくる奴は reject する e.g. 複雑でない mail bomb 対策 ○ MD5 checksum によるループ検出 (3.0 new, optional) ○ FML Advisory 最近の諸問題とそれに関するfmlの設定などについてのアドバイザリィ e.g. Melissa virus, happy99 [配送関係] ○ 配送用アドレス、コマンド用アドレスごとのアクセス制御 アクセス制御(anyone/members_only/moderator) [moderator タイプ(I, II, III; II is the default)について] デフォルトのモデレータはfmlがスプールして配送していいかどうかを one time password と共にモデレータに判断をゆだねる。 ○ まとめ送り (ユーザごとに細かく送り方/時間を設定可能) ○ PGP暗号化 ML PGP 2 PGP 5 (4.0 new) ○ 配送メールのヘッダフィールドのきめこまかい設定 ○ スプールする/しない 標準の ML の記事スプール以外にもアーカイブは設定できます。 ○ 自動圧縮(spool -> tar.gz style) ○ 記事の自動 expiration (DISKがない場合) ○ HTML記事作成 (HTML 4.0 FORMAT) new thread format (2.2.1 new) ○ メール配送は直接SMTPを張る(デフォルト)/sendmailを起動する 応用として配送専用マシンを別にするなどができる。 SMTPを直接張るため自分のマシンで sendmail が走っている必要はありません。 そして SMTP を理解してくれるなら sendmail である必要もないです。 そのためメール配送系のシステムは入れ換えても問題はありません。 ○ スタートレック宇宙歴サポート:D 宇宙歴をつけるmh, mh-e user interface つき:-) ○ mead.pl (2.2 new) エラーメールを解析して自動的にユーザを削除する ○ 様々なMLへの制限 (2.2 new) fml が受けるメールのサイズの上限 MLのメンバー数の制限 メール一通あたりにかけるコマンド数の上限 メール一通あたりの特定のコマンド数の上限 (例: get コマンド数の上限) ○ $OUTGOING_ADDRESS (2.2.1 new) fmlが直接SMTPでMTAに投げるのではなく、特定のアドレスに投げる perlの生存時間を短くする HACK i486 (メモリ 16M )のような非力なマシンで有効 ○ POP3によるML (optional) 例えば 一定時間間隔で POP をかけてMLを動かし 配送はサイトのSMTPサーバにやらせることでMLを実行する裏技。 ○ (後ろ向き)In-Reply-To: emulation (2.2.1 new, optional) ○ HTML mail 対策: HTML部分を切落とす (2.2.1 new, optional) ContentHandler [コマンド関係] ○ リモート管理 認証方式はアドレス認証/パスワード保存(crypt or MD5)/PGPベースの認証 PGP 2 PGP 5 (4.0 new) ○ 豊富なファイル操作 (まとめ送りや mget, get コマンド等で使われる) mget と まとめ送りでの User interface は次のようなものが取り 揃えられています。ユーザーごとに設定できます # lha 系のものはSJISに変換するオプションもあります PLAINTEXT UNIX FROM RFC934 RFC1153 MIME/Multipart COMPRESSED FORMAT gzip UNIX FROM file Lha + Ish Lha + uuencode tar + gzip zip + base64 (2.2 new) uuencode ○ newsyslog(8); log ファイルのrotation (log -> log.0, log.0 -> log.1 ...) e.g. $DIR/log, $DIR/members, $DIR/actives ○ コマンドサーバの Listserv(Majordomo) 互換インターフェイス [登録関係] ○ 自動登録のメンバーリストの扱い方を変更 (3.0 new) ○ 自動的にメンバー登録をする機能 (default: confirmation) 登録への確認/Subject: subscribe/本文に Subscribe/キーワードなし ○ 自動でない場合のsubscribeリクエストに対し confirmation を行う (2.2.1 new) $MANUAL_REGISTRATION_TYPE = 'confirmation' or 'forward_to_admin' ○ ML を抜ける時の confirmation (2.2 new); optional ○ CHADDR コマンドの confirmation (2.2.1 new); optional ○ confirmd (2.2 new) 一定期間ごとに参加し続けるか?をユーザに尋ねる。返事がないと削除する。 ○ USE_MEMBER_NAME (2.2 new) メンバーのアドレスと名前をセットにして管理する 他 これからMLをはじめる方にはそのまま、MLサーバをカスタマイズして使いたい とおもっている方には改造のプラットホームとして利用できるかと思います。 #現状のMLサーバに求められる基本機能のコード(の“一例")は一通り揃って #いると思います。最適解ってわけじゃないけど :-) また、この類いの「外部のサイトとの通信を行うプログラム」はすべてそうで すが最新版のソースコードを手に入れて使うべきです。また改造も最新版につ いてした方がよいとおもいます。