MailForm Plugin for Movable Type

MTOSへMailFormというプラグインをいれたのですが、メール送信で文字化けが発生して大変でした。とりあえず、パッチを作って対応しましたが、いかにも付け焼き刃的な対応のような気がします。とはいえ、ソースコードがこうやって公開されていると、自分で対応できることがあるので、嬉しい限りです。MailFormのライセンスが明確でないのがちょっと気にはなりますが…

Six Apart – Movable Type プラグインディレクトリ: MailForm
http://www.sixapart.jp/movabletype/plugins/mailform.html

ちなみに、文字化けが発生したのはアルファメールというサービスでMTOSを動作させようとしたときでした。具体的な対応策としては、MailForm.pm でMT::Mailを使ってメール送信をする前に下記の処理を追加しただけです。head{Subject}へ値を代入をしている行の直後に下記をいれておけばいいはずです。


eval "require Jcode;";
$mail_body = Jcode->new($mail_body)->jis;
$head{Subject} = Jcode->new($head{Subject})->mime_encode;
$head{'Content-Type'} = 'text/plain; charset="ISO-2022-JP"';

ちょっと記憶をたよりに記事を書いているので、変数名とか間違えているかもしれません。そのあたりはコードをよく読んで確認をしてみてください。Perlは大体こんなもんだろう、というのはわかるのですが、細かい文法までは覚えていなかったので、場当たり的に動作確認をしながら対応しました。そういうことをしていると、やはり時間がかかってしまいます。やれやれです。

同じカテゴリの記事: Linux
同じカテゴリの記事: Program