2008-05-13
fmlでメーリングリストを作ってみる
なぜかportsにないのでfmlプロジェクトのサイトからダウンロードします。8系は開発系なので4系を使用します。
fmlユーザを追加する
なるべくここで作成した一般ユーザで作業をします。
# adduser Username: fml Full name: Uid (Leave empty for default): Login group [fml]: Login group is fml. Invite fml into other groups? []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: tcsh Home directory [/home/fml]: /opt/ml Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: yes Lock out the account after creation? [no]: Username : fml Password : <blank> Full Name : Uid : 1011 Class : Groups : fml Home : /opt/ml Shell : /bin/tcsh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (fml) to the user database. Add another user? (yes/no): no Goodbye!
fmlをダウンロードしてくる
FTPはこちら→ftp.fml.org
(現時点の安定版最新バージョンはfml-4.0-stable-20040215.tar.gzです)
なお、fmlのバージョンはFreeBSDの開発ツリーに似ています。
- release - リリース版
- stable - リリース版+バグ修正
- current - 開発版
まぁ普通はstableですね。
fmlをインストールする
fml用に追加した一般ユーザで行います。
/usr/local/src # fetch <ファイルパス> ここで一般ユーザにsuする % make install DOMAIN NAME [example.com] FQDN [server.example.com] mail.example.com EXEC FILES DIRECTORY [/usr/local/fml] /opt/ml/fml TOP LEVEL ML DIRECTORY [/var/spool/ml] /opt/ml/spool
Postfixの設定を変更する
以下設定を追加します。
もちろんrootです。
# vi /usr/local/etc/postfix/main.cf + allow_mail_to_commands = alias,forward,include # /usr/local/etc/rc.d/postfix reload
新規メーリングリストを作成する
% /opt/ml/fml/makefml newml hoge
メールアドレスを追加する
% makefml add <ML名> <メールアドレス>
Postfixのエイリアスに追加する
Postfix用のnewaliasコマンドを使います。
シンボリックリンクを張ってある等環境によってはnewaliasesでいけるかも。
# cd /usr/local/etc/postfix # cat /opt/ml/spool/hoge/aliases >> aliases # postalias aliases
尚、ML管理系のメールはfml宛に送信されるため、aliasesに既存ユーザへのaliasをしておくといいかもしれません。
以上でMLの作成は完了です。
MLのカスタマイズ
CUIで操作できます。
% makefml config <ML名>
- メニューの数字で画面遷移
- 0で戻る
設定ファイル周りのTips
config.phが実際の設定ファイルになっており、makefml configを行った際にもこのファイルが書き変わります。
makefml configよりも詳細な設定をしたい場合は、cfファイルにconfig.phから設定したい変数を抜き出して追加し、makefml update-configします。
cfファイルを修正してからconfig.phを見てみると修正されていることが確認できます。
% makefml update-config <ML名> 作成したMLディレクトリがカレントの場合以下でも可。 % make config.ph
その他Tips
- Fromを強制的に書き換える
送信元アドレスを知らせたくない場合に使う。
※Vodafoneの場合senderに自アドレスを入れてくるのでそれにも対応する。
cfに以下追加
&DEFINE_FIELD_FORCED('from', $MAIL_LIST);
&DEFINE_FIELD_FORCED('sender', $MAIL_LIST);
- メール末尾に固定メッセージ追加
cfに以下追加
$START_HOOK = q#
my ($s) = &GET_BUFFER_FROM_FILE("$DIR/info");
&ENVELOPE_APPEND('Body', &STR2JIS($s));
#;
/opt/ml/fml/infoファイルを新規に作成しメッセージを記述。
- 件名にタグを付ける
[<ML名>:<4桁の通し番号>]
タグタイプの設定
% makefml config <ML名> [5]HEADER CONFIGURATIONS [1]SUBJECT_TAG_TYPE [3]Subject: [Elena:00100] (hml 1.6 compat)
タグフォーマットの設定
% makefml config <ML名> [5]HEADER CONFIGURATIONS [2]SUBJECT_TAG_FIGURE [4]4 e.g. [elena 0001], [elena 0100], [elena 10000]
- 通し番号をリセットする
通し番号を管理しているファイルはseqファイルです。
% echo 0 > /opt/ml/spool/<ML名>/seq
- 3 http://search.yahoo.co.jp/search?p=fml&search.x=1&fr=top_ga1&tid=top_ga1&ei=UTF-8
- 3 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADBR_jaJP264JP265&q=fml+設定+freebsd
- 2 http://reader.livedoor.com/reader/
- 2 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=Xt8&q=fml 新規メーリングリスト作成&btnG=検索&lr=lang_ja
- 2 http://www.google.com/search?hl=ja&rls=com.microsoft:en-US&q=ports+fml+FreeBSD&lr=
- 1 http://d.hatena.ne.jp/johzan/20080514
- 1 http://reader.epebow.org/feedshow.php?h=d826b6a2ecce&c=ce4eb2f
- 1 http://search.goo.ne.jp/web.jsp?SGT=0&PT=stick&from=query&MT=fml 件名 通し番号&DC=10
- 1 http://srd.yahoo.co.jp/BMK/sec=link_ttl/R=1/S=2078777038/bmtype=url/_ylt=AioI3RO0wn5dX76oZkwtaCzOnud7;_ylv=0/SIG=122lcqklc/EXP=1211090241/**http://d.hatena.ne.jp/johzan/?20080511142522
- 1 http://www.google.co.jp/reader/view/?hl=ja&tab=wy

