• 締切済み

PHPでメールしたいが\nで改行されないことがある

現在、PHPでメールをするコードを書いておりますが メールの署名部分で、一部改行されないケースがあります。 ソースは以下になりますが、住所末尾の改行が無効になり 住所と電話番号が、くっついて表示されてしまいます。 それ以外の場所は、問題なく改行されるのですが、特定の文字を含むと改行できないなど条件があるのでしょうか? $body .= "--------------------------------------------------\n"; $body .= "TRAVEL GALLERY CO., LTD\n\n"; $body .= "Headquarters (Osaka)\n"; $body .= "Osaka Ekimae 3rd Building 15F\n"; $body .= "1-1-3 Umeda Kita-Ku OSAKA 530-0001 JAPAN\n"; $body .= "Phone +81-6-6456-4133 Fax +81-6-6456-4880\n"; $body .= "\n"; $body .= "Tokyo Sales Office\n"; $body .= "6-28-8 Shinjuku Shinjuku-Ku TOKYO 160-0022 JAPAN\n"; $body .= "Phone +81-3-6380-2371 Fax +81-3-6380-2377\n"; $body .= "--------------------------------------------------\n";

みんなの回答

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

\nの代わりに 改行定数 PHP_EOL を使用して $body .= "○○○○○○○". PHP_EOL; のようにするとどうなりますか? または 連結せずに""(ダブルクォート)やヒアドキュメントで一気に $body = <<<EOF -------------------------------------------------- TRAVEL GALLERY CO., LTD Headquarters (Osaka) Osaka Ekimae 3rd Building 15F 1-1-3 Umeda Kita-Ku OSAKA 530-0001 JAPAN Phone +81-6-6456-4133 Fax +81-6-6456-4880 Tokyo Sales Office 6-28-8 Shinjuku Shinjuku-Ku TOKYO 160-0022 JAPAN Phone +81-3-6380-2371 Fax +81-3-6380-2377 -------------------------------------------------- EOF; とするとどうなりますか?

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>特定の文字を含むと改行できないなど条件があるのでしょうか? そういう現象に遭遇したことはありませんね。もしそういう事象が確認されれば、すぐにBugFixされそうなものですし。 http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double $bodyの内容をファイルに吐き出すなどして確認されてみては如何でしょうか。$bodyの組み立てでの問題なのかメール送信部分での問題なのか切り分けた方がいいと思います。

関連するQ&A