fml はとてもメジャーなメーリングリストのソフトだが、デフォルトではいろいろな課題があることが分かった。
あるとき、自分の管理しているメーリングリスト xxx の管理者アドレス xxx-admin@xxx
から多量のメールが届いているから何とかしてくれ、ということ。知らない人からのメールは読まないのだが、何かおかしいと思ったら、送られてきたメールのサンプルは xxx のメールリストの案内であり、案内の請求を大量に出した結果、大量の案内が届いたということ。 From のアドレスをターゲットにして大量に出していた訳だ...
そんなやり方があったとは知らんかった... 申し訳ない。
で、fml の設定について調査。
その結果、
$HOME/.../fml/spool/ml/xxx/config.ph を編集することに。
まず、当然だが、ML にメールを送れる人はメンバーのみであることを確認。
$PERMIT_POST_FROM = "members_only";
さらにメンバー以外が投稿した場合はデフォルトは reject になっているがこれだとそのメッセージが送られてしまうので、 ignore にする。
$REJECT_POST_HANDLER = "ignore";
config.ph のファイル中にも以下のようなコメントがあった。
# $PERMIT_POST_FROM is one of "anyone", "members_only" and "moderator".
# It defines who can post to this ML.
# When post from not a member is rejected,
# fml calls $REJECT_POST_HANDLER.
# $REJECT_POST_HANDLER is one of "reject", "auto_subscribe" and "ignore".
さらに本題のコマンド要求に対する応答の変更。
コマンドを送って応答する対象についてもメンバだけに限定する。
$PERMIT_COMMAND_FROM = "members_only";
そして、メンバ以外から要求にはデフォルトが reject になっていたので ignore に変更。これが本題の問題だったはず。
$REJECT_COMMAND_HANDLER = "ignore";
reject だと返事が返ってしまうので。参考までの上記の config.ph のコメントを以下に。
# $PERMIT_COMMAND_FROM is one of "anyone", "members_only" and "moderator".
# It defines who can post to this ML.
# When command request from not a member is rejected,
# fml calls $REJECT_COMMAND_HANDLER.
#
# $REJECT_COMMAND_HANDLER is one of "reject", "auto_subscribe" and "ignore".
一応、もう一つ。root や postmaster などの特別な名前からMLに来たメールも reject するようになっているが、これも同じことだと思う。そのため、これは reject しないで受ける設定にする。だけどそのまえに上で メンバだけがpost できるようにしてあるので大丈夫なはずだ。
$REJECT_ADDR = "";
一応の処置としてこれをやってみて、メンバ以外からメールを送ってみてテストしたが処置後は返信メールが来なくなったので大丈夫かなと思う