質問: mb_send_mail($to, $subject, $message, $header, $parameter);
回答: >mb_language('ja'); >mb_internal_encoding('utf-8'); これが設定されているのであればmb_encode_mimeheaderは、utf-8→jisを行います。なので自前での変換(mb_convert_encoding)は入れない方が無難です。 というか、$subjectはfromに入れる(自前でjisにしている)と同時にmb_send_mailでもsubjectとして渡しています。なおさらutf-8のままでないとマズイです。 (e.g.) mb_language('ja'); mb_internal_encoding('utf-8'); $header = ""; $header .= "from: " . mb_encode_mimeheader($subject) . "<{$from}>"; $message = str_replace("\r", "", $message); $parameter = "-f hoge@example.co.jp"; $res = mb_send_mail($to, $subject, $message, $header, $parameter); なお「文字化け」は、どのメーラでどうなるといったことを基準にすると間違いの元です(メーラは自動補正して修正してくれるものが多いので)。popサーバから生のメールデータをダウンロードして中身を確認すべきです。