Zend_Mail
0pt
日本語対応してないのでラップクラスを作る
http://d.hatena.ne.jp/toytools/20070828
↑を使えばとりあえず日本語は使えるのだけれど、長いSubjectを入れると文字化けする。メールのヘッダーは一行の文字数が決まっている。Zend_Mailはそれに合わせて改行してくれるのだけど、改行処理がうまくいってないからみたい。
http://tdiary.ishinao.net/20071225.html
http://movion.net/2008/03/05/zend_mail-setsubject/
http://nonn-et-twk.net/twk/node/155
http://framework.zend.com/issues/browse/ZF-1688
http://framework.zend.com/issues/browse/ZF-2532
にある方法全部試したけど、一部文字化けしたりして、なんかうまくいかない。
もう諦めようかと思ったその時、これを見つけた。
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がやらなくても、他のところがやってるみたいだ。しかも送られてきた結果とコードが微妙に違ってる。なんで今までのがダメだったのか、これがうまくいけたのかわからない。うーん、謎だ。
コメントはまだありません