いしなお!
2009|03|
2007-12-25 [長年日記]
_ [Zend_Mail][PHP] Zend_Mailで日本語ヘッダ要素を登録
mb_encode_mimeheader()してから、setSubject()とかしただけだと、"\r"とか"\n"とかが"?"に変換されてしまうんで、
function encode_mimeheader_for_zendmail($str)
{
return strtr(mb_encode_mimeheader($str, 'iso-2022-jp'), array("\r" => '', "\n" => '');
}
みたいなものをかましておくのが正解か*1。
っつーか"?"がZend_Mail内で変換されていたことになかなか気づかなかったよ。てっきりメールサーバーの問題だと思ってしまっていた。
*1 strtr($str, "\r\n", "")だとうまく動かなかったんでstrtr($str, array("\r" => "", "\n" => ""))に変更
本日のTrackBacks(全2件)
[]
Zend_Mailを使って色々試していたのですが、長めの件名等をうまく扱えず、実用には厳しそうです。
まず、普通のやり方はこんな感じだと思います。
$transPort = null; // set if smtp
$encoding = 'ISO-202
Zend_MailとSmartyを組み合わせた、メール送信のクラスを作ってみたのですが、
どうも長いタイトルのメールを送ると、タイトルの途中に「?」が入るからソースを見てみたら。
p...
こんにちは。トラックバックもさせてもらったのですが、これってメールヘッダーの仕様上は問題にならないのでしょうか。<br>あまり詳しくないのですが、メールヘッダーの仕様上長い場合改行があるべきなのかな、と思いまして。確かに手元の環境では受信できましたので、Zend_Mail内かmail関数等でその辺りの対応はしてくれるのでしょうか。よろしければおしえていただけると嬉しいです。
こんにちは<br>Zend Frameworkのupdate権限を持つ人でプログラム自体をupdateできる人がほとんどいません。<br>ぜひZend Frameworkのコミュニティーにご協力くださいませ
こんにちは<br><br>日本人でソースコードのupdate権限所持者が3名だけなので、ぜひ開発コミュニティーに参加していただけると助かります。