*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;

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS