人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php4.3.11のmb_sendmailで以下のように
$from=”From:” .mb_encode_mimeheader($mailfromname) .”<” .$mailfrom .”>”;
FROMの設定をして、
mb_send_mail($email,$subject,$msg,’From: ’.$from);
とするとfrom部分が化けてしまいます。
どうしたらいいでしょうか??

●質問者: tech1
●カテゴリ:就職・転職 コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tomaton20
●25ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

mb_encode_mimeheaderをしなくてもいいのでは?

もしくは事前に送信前のSJISに変更すれば

問題ないはずです。

◎質問者からの返答

駄目なんですよ。

送信前に

mb_language(”Japanese”);

mb_internal_encoding(”SJIS”);

と入れているのですが完全に文字が化けてしまうんです。どうしたらいいでしょうか??


2 ● shak
●25ポイント

http://php.s3.to/man/function.mb-convert-encoding.html

mb_convert_encoding

以下の項目を確認されてはどうでしょうか。

・(送信者名などがフォーム入力なら)フォームの文字エンコード

・スクリプトの文字エンコード


上の二つが一致していなければ、mb_convert_encoding()でフォームの文字コードを変換する必要があります。

PHPはデフォルトEUCで動いていたと思いますよ。


また、mb_internal_encoding(”SJIS”)を入れているなら、mb_encode_mimeheader()は必要ないです。mb_mailが自動変換してくれるので。こちらの環境で確認しました。


これは別にいいんですが、「From」が引数でも入ってて重複してますね。

http://php.s3.to/man/function.mb-detect-order.html

mb_detect_order

(これは参考までに)

mb_detect_order(”EUC-JP”,”SJIS”,”UTF-8”);

と最初でやっておくと、mb_send_mailで自動判別してくれた覚えがあります。

◎質問者からの返答

・(送信者名などがフォーム入力なら)フォームの文字エンコード

・スクリプトの文字エンコード

はともにSJISです。

mb_detect_orderとやると下記のメッセージが表示されます。

Warning: Wrong parameter count for mb_detect_order()

どうしたらいいのでしょうか??

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ