2004
07.22

MT3.0 コメントメールの文字化け対策

日記

MT3.0ベータ版にしてから、コメントが登録されたときに送られてくるメールの件名が文字化けするようになった。以下のサイトで、対応策が掲載されていたので参考にさせてもらい、対応した。
情報を、ありがとうございます~。

というのも、本体は「日本語版ベータ」で、管理画面のインターフェースは「英語」の場合、メールのエンコード部分の条件分岐が「管理画面が日本語だったら」というおかしなコーディングになっているため、この問題が起きることがわかった。以下修正方法。

その修正方法とは、
lib/MT/Mail.pm を開き、23~34行目にかけて書かれている部分

@{[ MT->version_slug ]}
SIG
 my $mgr = MT::ConfigMgr->instance;

# if ($mgr->DefaultLanguage eq ‘ja’) {
  my $enc = $mgr->PublishCharset;
  $body = MT::I18N::encode_text($body,$enc,’jis’);
  $hdrs->{Subject} = Jcode->new($hdrs->{Subject})->mime_encode;
  $hdrs->{‘Content-Type’} = qq(text/plain; charset=”iso-2022-jp”);
  $hdrs->{‘Content-Transfer-Encoding’} = “7bit”;
# }

上記の内、2カ所に「#」コメントアウトをすることで解消できる。