すっごい久しぶりにメーリングリストの定番FMLの設定を行っている。
普通に設置したままだと携帯電話使用でとっても不便なので改造を行うことに。。。
やりたいことは以下
- Fromを「送信者名 <メーリングリストアドレス>」に置き換え
- Reply-toもメーリングリストのアドレスに置き換え
- メール本文にファイルに設定したフッターを付加
情報を探していたら以下が簡単に出来そうだったので設定(未検証)
- 確認メールを送らないようにする
- メールサイズの制限(512k)
参考にしたURLは以下
fmlのインストールと設定(Postfix+Courier-IMAP+OpenLDAPによるメールサーバ構築)
FML CGIを修正する
携帯対応メーリングリストの構築メモ
メールに自動的にフッタをつける
fmlで開封確認メールが飛び交わないようにする
やったことは
/var/spool/ml/ML名/cfに以下を追加
(config.phに追加するとFMLの設定変更コマンドで消去される)
#付加するヘッダやフッタの設定(?)
$PREAMBLE_MAILBODY = "";
$TRAILER_MAILBODY = &GET_BUFFER_FROM_FILE("$DIR/footer.txt");
#余計なヘッダを削除
$HEADER_ADD_HOOK = q{
&DELETE_FIELD('X-Original-To');
&DELETE_FIELD('Delivered-To');
&DELETE_FIELD('Received');
&DELETE_FIELD('X-Mail-Count');
&DELETE_FIELD('X-ML-Info');
&DELETE_FIELD('X-MLServer');
&DELETE_FIELD('List-Id');
&DELETE_FIELD('List-Software');
&DELETE_FIELD('List-Post');
&DELETE_FIELD('List-Owner');
&DELETE_FIELD('List-Help');
&DELETE_FIELD('List-Unsubscribe');
&DELETE_FIELD('Disposition-Notification-To');
&DELETE_FIELD('X-Confirm-Reading-To');
};
#Fromを"送信者名 <メーリングリストアドレス>"
#Reply-toをメーリングリストアドレス
#メール本文にヘッダとフッタを付加
$SMTP_OPEN_HOOK = q%
use Jcode;
my $tmpvar_From = &MimeDecode($Envelope);
jcode(\$tmpvar_From)->utf8;
$tmpvar_From =~ s/\<*\s*([0-9A-Za-z_!#\$\%&*+\-\/=\?^_\~.]+@[0-9,A-Z,a-z][0-9,a-z,A-Z,_,.,-]*)\s*\>*//;
jcode(\$tmpvar_From)->jis;
$tmpvar_From = &MimeEncode($tmpvar_From);
$Envelope = $tmpvar_From . " <" . $MAIL_LIST . ">";
$Envelope = $MAIL_LIST;
$e = $PREAMBLE_MAILBODY. $e .$TRAILER_MAILBODY;
%;
&ADD_CONTENT_HANDLER('multipart/.*', 'text/plain', 'allow');
&ADD_CONTENT_HANDLER('multipart/.*', 'text/html', 'strip');
&ADD_CONTENT_HANDLER('multipart/.*', '.*/.*', 'strip+notice');
&ADD_CONTENT_HANDLER('text/plain', '.*/.*', 'allow');
&ADD_CONTENT_HANDLER('!MIME', '.*/.*', 'allow');
その後、以下に移動し
cd /var/spool/ml/ML名
カtcf
ユーザーfmlになって、make secureを実行
su fml
make secure
2008/7/11 変更
ADD_CONTENT_HANDLERの設定を追加
2008/7/15 変更
Fromに使用されているマルチバイト文字列を正規表現にかけた時、誤認識する場合があるため一旦UTF8に変換するように