mailmanでaliasを自動的に反映する
メーリングリストとしてmailmanを使っています。ユーザインタフェイスも充実していてとても使いやすいです。mailmanに新しいMLをコマンドラインで追加するとこんな出力がでてきます。
# /usr/local/mailman/newlist (中略) To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program: ## mailman mailing list mailman: "|/usr/local/mailman/mail/mailman post mailman" mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/local/mailman/mail/mailman join mailman" mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman" mailman-request: "|/usr/local/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"
これをコピペして/etc/mail/aliasesへ追加して、さらにnewaliasを実行せよと。面倒な。勝手にやってよ。それくらい。でちょっと調べるとPostfixの場合だとやってくれる設定があるみたい。sendmailでもできると思うのでやってみた。
sendmail.cfでaliasの参照先を追加
/etc/mail/aliasesを直接いじくるのはちょっと怖いのでmailman専用のaliasファイルを用意、それをsendmailがちゃんと認識するようにします。mcファイルに以下の行を追加してmake sendmail.cf。
define(`ALIAS_FILE',`/etc/mail/aliases,/etc/mail/mailman.aliases')
mm_cfg.pyを編集
mailmanの設定ファイルみたいなやつですね。/usr/local/mailman/Mailman/mm_cfg.pyあたりにあります。こんな行を追加。
MTA='Postfix' POSTFIX_ALIAS_CMD='/usr/local/bin/sudo /usr/local/sbin/mailman.aliases'
実際にはPostfixは使ってませんが、気にしない(笑)。POSTFIX_ALIAS_CMDはMLを追加したり削除したりしたときに実行されるコマンドです。デフォルトではなんだったか忘れたけどPostfixのaliasコマンドみたいですよ。