| Submitted by daisuke on 木曜日, 8月 23, 2007 - 14:46 | 一般 |
はじめましてdaisakuと言います、宜しくお願いします。
早速ですが質問させていただきます。
UserminのReadmailで送ったメールをローカルPC上で使用しているメーラーで開くと日本語の件名だけ文字化けを起こしてしまいます。
メーラーはThunderbird/Becky!です。
LinuxにUserminをrpmにてインストール後
Readmailに設定可能なオプションで文字コードの指定をiso-2022-JPでは文字化けを起こすのでEUC-JPを指定したら本文は文字化けしなかったのですが、件名だけ未だに文字化けが解消されていません。
件名は1byte文字でしたら文字化けは起こさず、2byte文字でしたら文字化けを起こしてしまいます。
/etc/usermin/configや
/etc/usermin/mailbox/configを参照しlang設定を見直しましても解決には至っておりません。
もしかしたらReadmailはこういう仕様なのか?と訝っています。
ご存知の方がいらっしゃいましたらご教授下さい、宜しくお願いします。 :-?
ログイン 又は、登録してコメントの投稿
Submitted by
Hiroshi Miura on 水曜日, 5月 16, 2007 - 09:10
send_mail.plで
$mail->{'headers'} = [ [ 'From', $in{'from'} ],
[ 'Subject', $in{'subject'} ],
というコードになっていて、Subjectの文字コードのことやmimeのことをぜーんぜん考えてないので、無理ですね。送信を使うの。
メッセージボディーも文字コード(変換)のことはあまり考えてないですね。
quoted-printableにするだけ。
このプログラムは、日本語を含めたアジア圏の言語を利用可能にするには、だいぶ改良が必要です。
どうですか、やってみません?Perlで日本語メールの取り扱いに関するドキュメントは多数あるので、チャレンジの閾は低いと思います。
(perl メール 日本語 MIME)で検索するといろいろ参考になる情報がでます。
ログイン 又は、登録してコメントの投稿
Submitted by
mokada on 木曜日, 8月 23, 2007 - 14:46
以下の方法で日本語が通るようにしました。
Usermin-1.290 の send_mail.cgi の137行目
'data' => quoted_encode($in{'body'}) } );
を以下のように書き換えました。
'data' => $in{'body'} } );
要するに、メッセージbodyの\133-\377のASCII外の文字をquoted_encodeする”くだり”を、スルーにしました。
正しい修正方法かどうかわかりませんが、見た感じ動いているようなので使ってみようか(正しくは「うちのユーザに使わせてみようか」かな)と思っています。
いまどき、7bitクリーンでないと動かないsendmailもないと思いますが、Sjisのメールが飛んでいかないか若干心配してます。
そのときは、別の対処法をとるつもりです。
もし、不具合があるようでしたら、私も伺いたいと思います。
ログイン 又は、登録してコメントの投稿
7 週間 4 days 前
7 週間 4 days 前
9 週間 6 days 前
10 週間 3 days 前
11 週間 2 days 前
11 週間 2 days 前
11 週間 3 days 前
15 週間 4 days 前
15 週間 5 days 前
15 週間 5 days 前