日本語対応してないのでラップクラスを作る
http://d.hatena.ne.jp/toytools/20070828
↑を使えばとりあえず日本語は使えるのだけれど、長いSubjectを入れると文字化けする。メールのヘッダーは一行の文字数が決まっている。Zend_Mailはそれに合わせて改行してくれるのだけど、改行処理がうまくいってないからみたい。
http://tdiary.ishinao.net/20071225.html
http://movion.net/2008/03/05/zend_mail-set...
http://nonn-et-twk.net/twk/node/155
http://framework.zend.com/issues/browse/ZF...
http://framework.zend.com/issues/browse/ZF...
にある方法全部試したけど、一部文字化けしたりして、なんかうまくいかない。
もう諦めようかと思ったその時、これを見つけた。
http://sourceforge.jp/projects/necosuke-lpo/wiki/ねこすけLPO開発メモ
protected function _encodeHeader($value)
{
return sprintf(
"=?%s?B?%s?=",
$this->getCharset(),
base64_encode(mb_convert_encoding($value, $this->getCharset()))
);
}
ビンゴ!!最高です!ありがとうございます!
改行処理は_encodeHeaderがやらなくても、他のところがやってるみたいだ。しかも送られてきた結果とコードが微妙に違ってる。なんで今までのがダメだったのか、これがうまくいけたのかわからない。うーん、謎だ。