« Wordpress←→EC-CUBE連携 | トップページ | JavascriptのParseIntに騙されないで »

phpでメールの件名が切れる件

phpのメール送信を何回も作っているのに、定期的にハマります。

現象はまちまちなのですが(^^;A


今回は、件名が途中で切れてしまい、
そーなるとあとのヘッダ部分が本文に表示されるので、一見、文字化けを起こしているかのような現象になりました。

今までずっと使っていた関数を使ってまして。
他で納品したソースとも全く同じ、納品物の方はメルマガなので読者になってますが
件名が長くても切れていません。

ということは環境か?

とりあえず、メールのヘッダーを見ると、問題のある部分、subjectの中身が
途中で改行され、mimeエンコードが2回されています。

phpのリファレンスでmb_encode_mimeheaderを調べてみましたら
どうも、パラメータが増えている模様。

今まではmb_internal_encodingにて正しく文字コードを送っていればパラメータは必要ないという認識でしたので
$subject = mb_encode_mimeheader($subject);
とだけ書いていたんですが、
$subject = mb_encode_mimeheader($subject,"ISO-2022-JP","B","\n");

このように書き直してあげたところ、無事に長い件名も表示されるようになりました。

ちなみに、今までの方法でうまく動いているシステムの方はphp4です。

今回使ったサーバはphp5です。

その辺りの違いがあるんでしょうか。。。

|

« Wordpress←→EC-CUBE連携 | トップページ | JavascriptのParseIntに騙されないで »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/520403/52880278

この記事へのトラックバック一覧です: phpでメールの件名が切れる件:

« Wordpress←→EC-CUBE連携 | トップページ | JavascriptのParseIntに騙されないで »