[mailman-users-jp 2904] Re: 『メーリングリストに対する管理申請』のメールの詳細表示でエラーがでる

久慈 kuji @ kuji-clinic.info
2011年 10月 30日 (日) 12:21:03 JST


久慈です

菊池時夫先生、早々のお返事ありがとうございます。

菊地時夫 <tokio.kikuchi @ gmail.com> さんは書きました:
> > 【環境2】
> > ───────────────────────────────
> > FreeBSD 8.1 Mailman(version 2.1.14)
> > ○通し番号カスタマイズ○本文機種文字対策菊地先生方式^^
> > ○[mmjp-users 2171] anonymous_list mailman-2.1.9/Mailman/Handlers/Cleanse.py(by Nagae様)適応済み
> > のCleanse.pyを使用してます。
> > ───────────────────────────────
> 
> Mailman はどこから取って来てますか?

今朝までのMailmanはFreeBSDのPortsコレクション(mail/mailman)のものを使用していました。


> http://www.python.jp/doc/contrib/mailman/ から
> mailman 2.1.14+j6 (現時点で最新) をダウンロードして
> 試していただけますか?
> ただし、本文機種依存対策は +j6 に入ってますので、
> 入れないでください。

はい。
実は私もそう考えて、今朝、mailman 2.1.14+j6 に入れ替えてみました。

1./usr/local/mailman/bin/mailmanctl stop でmailmanを停止。
2.ダウンロードした mailman-2.1.14+j6 を /usr/local/mailman-2.1.14+j6 へ展開
3../configure の後、make install 
4.待避していた旧mailman から、以下のファイルを /usr/local/mailman/ へコピー
	# cp -rp _Kuji /usr/local/mailman/
	# cp -rp archives /usr/local/mailman/
	# cp -rp lists /usr/local/mailman/
	# cp -rp data /usr/local/mailman/
	# cp -rp logs /usr/local/mailman/
	# cp Mailman/mm_cfg.py /usr/local/mailman/Mailman/
5.mm_cfg.py は、コメント部分を省略しますが、以下の様にしています。
────────────────────────────────────
# -*- python -*-
###############################################
# Here's where we get the distributed defaults.

from Defaults import *

##################################################
# Put YOUR site-specific settings below this line.
DEFAULT_SERVER_LANGUAGE = 'ja'
GLOBAL_PIPELINE.insert(1, 'iso2022jpfix')

"$SMTPHOST = mail.server.name"
MTA = 'Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['Virtual_Domain_Name']
add_virtualhost('Virtual_Host_Name','Virtual_Host_Name')
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes
#GLOBAL_PIPELINE.insert(0,'behave')
────────────────────────────────────
6.Anonymouse List の From: へ「(氏名)Full_name」を表示するために、以下の様な方法をとっています。
────────────────────────────────────
--- Cleanse.py_dist	2011-10-30 07:02:40.000000000 +0900
+++ Cleanse.py	2011-10-30 07:03:40.000000000 +0900
@@ -1,5 +1,5 @@
-# Copyright (C) 1998-2010 by the Free Software Foundation, Inc.
-#
+# Copyright (C) 1998-2006 by the Free Software Foundation, Inc.
+# NAGAE version
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
 # as published by the Free Software Foundation; either version 2
@@ -53,8 +53,17 @@
         # And so can the message-id so replace it.
         del msg['message-id']
         msg['Message-ID'] = unique_message_id(mlist)
+
+        for sender in msg.get_senders():
+            if mlist.isMember(sender):
+                break
+        else:
+            sender = msg.get_sender()
+        i18ndesc = str(uheader(mlist, mlist.getMemberName(sender), 'From'))
+        if i18ndesc == '':
         i18ndesc = str(uheader(mlist, mlist.description, 'From'))
         msg['From'] = formataddr((i18ndesc, mlist.GetListEmail()))
+
         msg['Reply-To'] = mlist.GetListEmail()
         uf = msg.get_unixfrom()
         if uf:
────────────────────────────────────

上記の様に設定して動作を確認中なのですが、エラーの出現するメールが微妙に変化したような気もしますが、やはりエラーが出ました。

エラーはコレまでとほとんど同様です。


> > 【現象】
> > 全員の制限(モデレーション)フラグが「オン」の、anonymous_list
> > で、『メーリングリストに対する管理申請』に現れたメールの詳細を
> > 表示させようとすると

『Bug in Mailman version 2.1.14+j6
We're sorry, we hit a bug!
Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs.』

が出るメールがあります。
管理申請に上がっているメール、全部という訳ではありません。

手元でエラーが確認できているのは、@yahoo.co.jp、@me.com、@nifty.com、@某u-ac.jp からのメールです。
@gmail.com、@jikei.ac.jpからのものは正常表示しています。
ドメインとは無関係かもしれませんが。

エラーログの内容は、ほとんど前述のままですが、以下の通りです。
python は最新版の2.6.7へUPしてみました。

────────────────────────────────────
Oct 30 12:13:11 2011 admin(2082): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
admin(2082): [----- Mailman Version: 2.1.14+j6 -----] 
admin(2082): [----- Traceback ------] 
admin(2082): Traceback (most recent call last):
admin(2082):   File "/usr/local/mailman/scripts/driver", line 112, in run_main
admin(2082):     main()
admin(2082):   File "/usr/local/mailman/Mailman/Cgi/admindb.py", line 294, in main
admin(2082):     print doc.Format()
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 337, in Format
admin(2082):     output.append(Container.Format(self, indent))
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 267, in Format
admin(2082):     output.append(HTMLFormatObject(item, indent))
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 53, in HTMLFormatObject
admin(2082):     return item.Format(indent)
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 431, in Format
admin(2082):     output = output + Container.Format(self, indent+2)
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 267, in Format
admin(2082):     output.append(HTMLFormatObject(item, indent))
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 53, in HTMLFormatObject
admin(2082):     return item.Format(indent)
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 203, in Format
admin(2082):     output = output + self.FormatRow(i, indent + 2)
admin(2082):   File "/usr/local/mailman/Mailman/htmlformat.py", line 191, in FormatRow
admin(2082):     output = output + self.FormatCell(row, i, indent + 2)
admin(2082): UnicodeDecodeError: 'ascii' codec can't decode byte 0xa5 in position 42: ordinal not in range(128)
admin(2082): [----- Python Information -----] 
admin(2082): sys.version     =   2.6.7 (r267:88850, Oct 28 2011, 13:34:08) 
[GCC 4.2.1 20070719  [FreeBSD]] 
admin(2082): sys.executable  =   /usr/local/bin/python 
admin(2082): sys.prefix      =   /usr/local 
admin(2082): sys.exec_prefix =   /usr/local 
admin(2082): sys.path        =   ['/usr/local/mailman/pythonlib', '/usr/local/mailman', '/usr/local/mailman/scripts', '/usr/local/mailman', '/usr/local/lib/python26.zip', '/usr/local/lib/python2.6/', '/usr/local/lib/python2.6/plat-freebsd8', '/usr/local/lib/python2.6/lib-tk', '/usr/local/lib/python2.6/lib-old', '/usr/local/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/site-packages'] 
admin(2082): sys.platform    =   freebsd8
以下省略(必要でしたらご連絡ください)
────────────────────────────────────

以上、長々と済みません。
足りない情報など有りましたら、ご連絡ください。

よろしくお願いもうしあげます。

--
久慈





mailman-users-jp メーリングリストの案内