Mailmanで日本語を扱うときの注意 (English summary in the end) 日本語のメールは ISO-2022-JP を使うことが、RFC1468に定められており、 その後、MIMEによる使用可能な文字集合の拡張がなされていても、これが 事実上の標準規則となっています。一方で、Mailmanのようにプログラムの 中で自然言語を扱う際には、\ や < > といった文字のエスケープが問題と なり、最も扱いやすい文字集合は EUC-JP あるいは Unicode (UTF-8) とい うことになります。ここでは Mailman 内部と Web については EUC-JP に 統一することで、問題を解決しようとしています。 日本語のように、いくつかの文字集合が使われている言語は他にもある かもしれません。このため、標準文字集合(stdcharset)と別の文字集合 (altcharset)を考慮して問題解決の一般化を試みます。 このため、外部から入ってくるメールを altcharst から stdcharset へ変換し、 Mailman から出ていくメールは全て email パッケージに準拠した文字集合へ へ変換する必要があります。 このための変換プログラムを mc_Entry.py および mc_Finish.py として 用意しました。また、全てのメールが mc_Finish.py を経て出ていくように、 mc_SMTPDirect.py を作りました。 Mailman/Handlers に mc_SMTPDirect.py, mc_Entry.py, mc_Finish.py を 入れてください。これらの最新版は http://mm.tkikuchi.net/ から ダウンロードできます。 Mailman/mm_cfg.py に以下の行を追加してください。 ################################################################## DEFAULT_SERVER_LANGUAGE = 'ja' GLOBAL_PIPELINE = [ 'mc_Entry', ] + GLOBAL_PIPELINE DELIVERY_MODULE = 'mc_SMTPDirect' # for multi charset language def _(s): return s LC_DESCRIPTIONS['ja'] = ( _('Japanese'), 'euc-jp', ['iso-2022-jp', 'shift_jis'] ) ################################################################## 以上で、メールの文字コード変換が出来るようになります。 なお、templates/ja と messages/ja の最新版も上と同じく http://mm.tkikuchi.net/ からダウンロードできます。CVS が古いと 感じたら、寄ってみてください。 日本語で Mailman について Q&A したいかたは、mmjp-users メーリングリスト があります。これも、上記 URL からたどれますので、ぜひ御参加ください。 注意) 今後の日本語修正について Mailman-Developer で若干議論しましたが, 入口と出口でコード変換する 方法では, ニュースへの中継や, 外部アーカイバへのインターフェースに 問題が生じる恐れがあります. このため, 方針を見直して内部で Web用の stdcharset に変換する方向を探って見たいと考えています. by tkikuchi_at_is.kochi-u.ac.jp (2002/03/26) rev. for 2.1 final (2002/12/25) I18N Jananization Note # There is one problem in Japanese message handling; Web documents are best treated with EUC-JP charset, while Mail messages should be in ISO-2022-JP. Under the Mailman directory, I put programs for converting messages to EUC-JP/ISO-2022-JP. This approach was generalized for multi-charset languages; incoming mail may have alternative charset (altcharset) which will be converted to mailman standard charset (stdcharset) by mc_Entry.py and will be re-converted into the email-defined charset when going out. Mailman +- mm.cfg.py.add (Add these lines in your config) +- Handlers +- mc_SMTPDirect.py +- mc_Entry.py +- mc_Finish.py Revised 2002/03/26 Revised for multi-charset 2002/12/10 Please visit http://mm.tkikuchi.net/ for more.