*Mailman Tips [#gf410d99] [[Mailman on FreeBSD]]~ [[Mailman Tips]]~ [[Mailman Tips 2]]~ [[Mailman Tips 3]]~ [[Mailman Tips 4]]~ #contents **ダイジェスト配送メールの定型文のカスタマイズ [#p5287b6a] > 【質問】 > ダイジェスト配送メールには、メールの始まりに「本日の話題」までの間に > 「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のダイジェスト配送の間隔をリスト毎に変更する [#u690a98a] 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 //> 【質問】 //> ダイジェスト配送の配送間隔についてお教え下さい。 //> デフォルトでは24時間、あるいは設定上限の容量に達した時にダイジェスト //> が配信されるようですが、これを、一週間間隔などに変更は可能でしょうか? //digest は、リストごとに設定可能な上限値に達したとき、 //又は cron で cron/senddigests が起動されたときに //出て行きます。 //なので、crontab.in に書かれた設定を変えて INSTALL の //時と同じように crontab cron/crontab.in を実行すれば //配送間隔を変更できます。 //(crontab.in は更新で書き換えられてしまうので、別の //ファイルに書いておいた方がいいかもしれません) //> //> また、それは、List毎というのは無理(でしょうね)でしょうか? //cron/senddigests --help をしてみると --listname=リスト名 //というオプションがあることがわかりますので、全部の //リストを並べて crontab.in に書いてあげるとそういう //ことができます。 //GUI ではできないので、大変ですけど。 **師、宣わく [#f2413c59] >>師曰く「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://hatuka.nezumi.nu/repos/mailman-Defaults.py.in-ja/tags/Release_2_1_9/Defaults.py.in?view=markup >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の通し番号を変更する [#l34470a6] #/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 # **Vertual-mailman バーチャルホスト上で運用中のMailmanに新しいリストを作成した場合 [#sdadfbf0] Virtualホスト上で運用中のMailmanに新しいリストを作成した際、 /usr/local/mailman/data/virtual-mailman の変更は手動で行う必要がある。 vi /usr/local/mailman/data/virtual-mailman postmap /usr/local/mailman/data/virtual-mailman ---- 参考URL~ &edit; &counter; &lastmod;