• ベストアンサー

mail()について。Outlookで文字化けする

phpの組み込み関数mail()を使用して自動メール送信機能を作っております。 Yahoo!メールでは正常に受信出来るのですが、Outlook(Express)では文字化けしてしまいます。 出来るだけ万能に受信させたいのですが、どのように対処すれば良いのでしょうか? ちなみに、以下、現状のソースを簡略化したものです。 ----------------------------------------------------------- $mail_to = "mail@test.com"; $message = "テストです。\nメールを送ります。"; $headers = 'From: test' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($mail_to, "タイトル", $message, $headers); ------------------------------------------------------------- どなたか解決策をご存知でしたら、御教授宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

メール送信時のマルチバイト文字(日本語など)の必要な扱いが 足りないからです。 例 ・タイトルなどヘッダー部は、JISコードにしてMIME変換する ・本文中の日本語は、JISコードに変換してから送信する など 下記ページを参考にしてみては如何でしょう http://techblog.ecstudio.jp/tech-tips/mail-japanese-basics.html

HYSTER
質問者

お礼

文字コードの変換に大変参考になりました! ありがとうございます。

その他の回答 (1)

noname#76085
noname#76085
回答No.1

私はPHP全くわからないのですが、文字コードを設定してないからだと思います。 さしあたって、$headersのなかに「Content-Type: text/plain;charset="ISO-2022-JP"」と追加してみてください。