Mailman on FreeBSD
Mailman Tips
Mailman Tips 2
Mailman Tips 3
Mailman Tips 4
【質問】
ダイジェスト配送メールには、メールの始まりに「本日の話題」までの間に
「Webブラウザを使って入退会するには以下のURLにどうぞ.」などの定型文
が付加されるのですが、これをカスタマイズするにはどうすればよいでしょ
うか。また、それはlist毎に設定可能でしょうか?
prefix>/Mailman/Utils.py の maketext/findtext を読むと、
# 1. the list-specific language directory # lists/<listname>/<language> # # 2. the domain-specific language directory # templates/<list.host_name>/<language> # # 3. the site-wide language directory # templates/site/<language> # # 4. the global default language directory # templates/<language>
にテンプレートを置くと、メッセージをカスタマイズできること がわかります。で、問題のダイジェストに付加される定型文は
この部分は、mailman/Mailman/Handlers/ToDigest.py が生成している(らしい)
所までは追えたのですが、そこから先が??です。また、やぶにらみしている
のかもしれません。^^
このプログラムの send_i18n_digest() で、'masthead.txt' を 使っていることがわかりますので、templates/ja/masthead.txtを 適当なディレクトリにコピーして編集してやればよいことになります。
ま、templates/ja の中のテンプレートを片っ端から眺めて みれば、わかりますけど。
list_name ML のダイジェストの定型文をカスタマイズする cp /usr/local/mailman/templates/ja/masthead.txt /usr/local/mailman/lists/list_name/ja/ vi /usr/local/mailman/lists/list_name/ja/masthead.txt
Mailmanの各種定時業務?は、/var/cron/tabs/mailman に記述されている。が、「このファイルを直接編集するな」とかいてある。^^
ダイジェスト関連のコマンドは cron/senddigests だそうなので、
/usr/local/mailman/cron/senddigests --help
すると、
Dispatch digests for lists w/pending messages and digest_send_periodic set. Usage: /usr/local/mailman/cron/senddigests [options] Options: -h / --help Print this message and exit. -l listname --listname=listname Send the digest for the given list only, otherwise the digests for all lists are sent out.
とのことなので、どうやら、リスト毎に設定を変えられそうである。
cp /usr/local/mailman/cron/crontab.in /usr/local/mailman/cron/crontab-sp.in
などとして、更新しても書き換えられないように待避しておいて
vi /usr/local/mailman/cron/crontab-sp.in
で
# Noon, mail digests for lists that do periodic as well as threshhold delivery. 0 12 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/senddigests --listname=list1 0 12 * * 3 /usr/local/bin/python2.4 -S /usr/local/mailman/cron/senddigests --listname=list2
などと希望の変更を加える。念のために
cp /var/cron/tabs/mailman /var/cron/tabs/mailman-orig
として待避しておいて、 /var/cron/tabs/mailman に変更を反映させるために
crontab -u mailman /usr/local/mailman/cron/crontab-sp.in
http://mm.tkikuchi.net/mailman-install/node41.html
設定変更を確認
# DO NOT EDIT THIS FILE - edit the master and reinstall. # (/usr/local/mailman/cron/crontab.in installed on Fri May 4 09:09:20 2007) # (Cron version -- $FreeBSD: src/usr.sbin/cron/crontab/crontab.c,v 1.22.2.1 2006/09/03 17:32:32 brooks Exp $) 0 8 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/checkdbs 0 9 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/disabled # Noon, mail digests for lists that do periodic as well as threshhold delivery. 0 12 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/senddigests 0 12 * * 3 /usr/local/bin/python2.4 -S /usr/local/mailman/cron/senddigests --listname=list1 0 12 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/senddigests --listname=list2 0 5 1 * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/mailpasswds 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/gate_news 19 2 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/nightly_htdig 27 3 * * * /usr/local/bin/python2.4 -S /usr/local/mailman/cron/nightly_gzip
師曰く「VERPをつかうべし~」
http://mm.tkikuchi.net/pipermail/mmjp-users/2007-June/002094.html
てことで・・・
配送エラー処理のVerpセクションをONに。
Defaults.py.in の日訳も追随しました。以下の場所にあります:
http://hatuka.nezumi.nu/repos/mailman-Defaults.py.in-ja/
下記URLはeucでどうぞ
http://cr.yp.to/proto/verp.txt
/usr/local/mailman/Mailman/Defaults.py # http://cr.yp.to/proto/verp.txt VERP_FORMAT = '%(bounces)s+%(mailbox)s=%(host)s' VERP_REGEXP = r'^(?P<bounces>[^+]+?)\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$' # VERP format and regexp for probe messages VERP_PROBE_FORMAT = '%(bounces)s+%(token)s' VERP_PROBE_REGEXP = r'^(?P<bounces>[^+]+?)\+(?P<token>[^@]+)@.*$' # Set this Yes to activate VERP probe for disabling by bounce #VERP_PROBES = No VERP_PROBES = Yes #VERP_PASSWORD_REMINDERS = No VERP_PASSWORD_REMINDERS = Yes VERP_PERSONALIZED_DELIVERIES = No VERP_DELIVERY_INTERVAL = 1 VERP_CONFIRMATIONS = No
#/MAILMAN_INSTALL_DIR/bin/withlist LIST-NAME # /usr/local/mailman/bin/withlist list_name Loading list LIST-NAME (unlocked) The variable `m' is the LIST-NAME MailList instance >>> m.Lock() >>> m.post_id 6.0 >>> m.post_id = 150 >>> m.Save() >>> ^D <-- Ctrl + D Unlocking (but not saving) list: LIST-NAME Finalizing #
Virtualホスト上で運用中のMailmanに新しいリストを作成した際、
/usr/local/mailman/data/virtual-mailman の変更は手動で行う必要がある。
vi /usr/local/mailman/data/virtual-mailman postmap /usr/local/mailman/data/virtual-mailman
参考URL
Edit Mailman Tips
4429
2011-11-04 (金) 12:25:12