2012-03-05 3 views
0

私は自分のアプリケーションによって送信されたメール内で使用される次のような文字列を持っている:改行(PHP)

$msg = "{$name} has submitted an email for review.\n\n You can preview the email here"; 

\ nがメール内に表示されていません - 任意のアイデアはなぜですか?

あなたがHTMLとして電子メールを送信した場合、私は、あなたがあなたが<br/>タグを使用することができます<br>

+0

「何でも\ r \ n」を使用してください。 – diEcho

+0

どのようにメールを送信していますか?コードを私たちに教えてください。 –

答えて

5

を使用しています。これを一度お試しください。これはあなたを助けるかもしれません。

+0

omg ..何が失敗!大変ありがとうございましたManse - そのような簡単な修正 - 私はもっと眠ります! :) 11分で答えを受け入れるでしょう:) – Zabs

+0

@Gazのprobs ... [チェックアウトこの機能(nl2br)](http://php.net/manual/en/function.nl2br.php)たくさんある場合更新が必要な場所を必要とするテキストの – ManseUK

2

代わりの\と\nを交換する必要がN \ N phpmailerの(古い私が知っている...)

2

あなたはたぶんhtmlメールを作成しているので、改行は表示されていません。 $msg = nl2br($msg);を追加して、\ nを<br/>

0

に送信してください.HTMLメールの送信に関する新しい問題があります。 Spamfiltersはrfc5322を厳密に実施し、998文字を超える行を受け付けません。 https://www.ietf.org/rfc/rfc5322.txt - > par 2.1.1を参照してください。 大きなhtmlファイルにhtml brタグを追加すると、1つのテキスト行になります。

解決策は、 $ message = wordwrap($ message、70)のように、ラッパーを使用することです(htmlを送信する場合でもそうです)。

私の場合(大規模なCSVのようなデータセットを送信する)、私はラップが動作するのを許すスペースがHTMLにあることを確認しなければなりませんでした。 電子メールクライアントに表示されるように、HTML結果に視覚効果はありません。