雄也の?日坊主日記

2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|
2006|05|
2007|04|05|09|10|11|
2008|04|05|08|10|11|

2005-09-06

_ [software] w3mlで新規メイリングリストを自動追加する

かずひこさんに<URL:http://www.j96.org/w3ml/>でやっている新規メイリングリストの自動追加について聞かれているのでここにまとめます.

必要なもの

  • w3ml(/usr/local/w3mlにインストールされているとする)
  • Postfix
  • Procmail

ディレクトリの準備

以下のディレクトリを用意する.

/usr/local/var/procmail/w3ml/mail/w3ml
届いたメイルを全てmh形式で置いておくためのディレクトリ
/usr/local/var/procmail/w3ml/mail/spam
spam退避用ディレクトリ

レシピを用意する

/usr/local/etc/procmail/procmailrc.w3mlに以下のようなレシピを用意する.

PROCMAILDIR=/usr/local/var/procmail/w3ml
MAILDIR=$PROCMAILDIR/mail
LOGFILE=$PROCMAILDIR/proc.log
LOCKFILE=$PROCMAILDIR/lock
SHELL=/bin/sh

# spamやいたずら用レシピ

:0H:
* ^X-QuickML: true$
* ^X-ML-Name: \/.*
{
  MLNAME = `echo "$MATCH" | sed -e 's/[.\/]//g'`

  :0 c:
  * ? echo "$MAILDIR/w3ml/$MLNAME" | xargs mkdir || true
  w3ml/$MLNAME/.

  :0:
  * ? /usr/local/w3ml/bin/setup "$MLNAME"
  | /usr/local/w3ml/bin/entry --mlname="$MLNAME" ; chmod o+x /usr/local/w3ml/data/"$MLNAME" ; chmod -R o+r /usr/local/w3ml/data/"$MLNAME"
}

:0
! yuya at j96 dot org

/etc/aliasesを変更

/etc/aliasesに以下を追加する.

w3ml: "|/usr/bin/procmail /usr/local/etc/procmail/procmailrc.w3ml"

追加したら

# newaliases

おわりに

  • 以下の部分を外せばQuickMLじゃないメイリングリストでもできるはずです.
    • ^X-QuickML: true$
  • ここでは/etc/aliasesからパイプで渡していますが,ユーザを作って.forwardで動かした方がいいです.
  • mh形式で別にメイルを置いておくのは雄也の気分的なものです. 大抵は要らないでしょう.
  • ものすごくad-hocです. 根本的に変えようとか考えています.
お名前:
E-mail:
コメント:
[]

Debian | LOOX T70HN | Linux | Rails | Rast | Ruby | TYPE T VGN-TZ90HS | boat | hardware | music | p | snowboard | software | surfing | tDiary | その他 | ボウリング | 映画 | 家族 | 会社 | 管理 | 丸藤 | 高専 | 散歩 | 仕事 | 自分 |

"Yuya.Nishida." / 西田 雄也 <yuya at j96 dot org>