2006年01月19日(木)ML管理人。
■ [fml]メールに自動的にフッタをつける

メーリングリストの管理なんぞを請け負っております。大学生は結構使ってますね。そこら辺の無料レンタルのを使えばいいものを、プロの意地が許さないのか、自分とこで作って管理しています。
早速、フッタをつける方法を。
- さくらインターネットで行っているという前提で。他の環境の場合、パスなどは適当に読み替えてください。基本的にやることは一緒です。
- 作業は /home/(user)/fml/spool/ml/(ml-name) *1以下のファイルに対して行ってください。
- さくらインターネットのコンパネからは出来ません。
まずは、フッタの文章を考えてください。これないと始まらないです。
とりあえずこんなので。
-- ML投稿はこちら <hoge@ml.example.com>
主に携帯を対象にしているので、出来る限りバイト数削らないといけないんですよね。。。これを、文字コードはJISで保存*2。名前は footer.txt*3 としておく。
次に、config.phの書き換え。$SMTP_OPEN_HOOK という記述があるので、そこを以下のように書き換える。
$SMTP_OPEN_HOOK = q#
local($foot) = &GET_BUFFER_FROM_FILE("$DIR/footer.txt");
&ENVELOPE_APPEND('Body', $foot);
#;
普通にPerlのコード書いちゃってください。。。「何故、同じディレクトリなのに $DIR が付くの?」と思われる方*4もいるかもしれませんが、要するにメインのプログラムから require しているから、そこから見たパスを書けってことなんですね。
ちなみに、&ENVELOPE_PREAPPEND(typoしてたので修正)&ENVELOPE_PREPEND も存在するので、そちらを使えば本文の前にメッセージを足すことが出来る。
トラックバック - http://freebsd.g.hatena.ne.jp/Cress/20060119



http://www.fml.org/fml/Japanese/hooks/2.html#C2S2
typoしてたのに全然気づかなかったです。修正しました。
指摘ありがとうございます。