基本的な設計方針は 『可能な限りユーザおよび ML管理者 にとっての自由度をあげる』 『「明示的な指定があって初めて機能は増やすべきである」 と 「管理者のルーチンワークを少しでも減らす」間の妥協』 です。 [インストール] ○ makefml 対話設定プログラム (CUI) [一般] ○ メッセージの多国語化 (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 ○ 配送メールのヘッダフィールドのきめこまかい設定 ○ スプールする/しない 標準の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 (in beta test phase) (2.2 new function) エラーメールを解析して自動的にユーザを削除する (βテスト段階なので注意して使おう:-) ○ 様々なMLへの制限 (2.2 new function) fmlが受けるメールのサイズの上限 MLのメンバー数の制限 メール一通あたりにかけるコマンド数の上限 ○ $OUTGOING_ADDRESS (2.2.1 new) fmlが直接SMTPでMTAに投げるのではなく、特定のアドレスに投げる perlの生存時間を短くするHACK(e.g. on i486 with 16M memory machine) ○ POP3によるML (optional) 例えば 一定時間間隔で POP をかけてMLを動かし 配送はサイトのSMTPサーバにやらせることでMLを実行する裏技。 ○ (後ろ向き)In-Reply-To: emulation (2.2.1 new, optional) ○ HTML mail 対策: HTML部分を切落とす (2.2.1 new, optional) [コマンド関係] ○ リモート管理 認証方式はアドレス認証/パスワード保存(crypt or MD5)/PGPベースの認証 ○ 豊富なファイル操作 (まとめおくりや 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 function) 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 function); optional ○ CHADDR コマンドの confirmation (2.2.1 new function); optional ○ confirmd (2.2 new function) 一定期間ごとに参加し続けるか?をユーザに尋ねる。返事がないと削除する。 ○ USE_MEMBER_NAME (2.2 new function) メンバーのアドレスと名前をセットにして管理する 他 これからMLをはじめる方にはそのまま、MLサーバをカスタマイズして使いたい とおもっている方には改造のプラットホームとして利用できるかと思います。 #現状のMLサーバに求められる基本機能のコード(の“一例")は一通り揃って #いると思います。最適解ってわけじゃないけど :-) また、この類いの「外部のサイトとの通信を行なうプログラム」は全てそうで すが最新版のソースコードを手に入れて使うべきです。また改造も最新版につ いてした方がよいとおもいます。