php
  • html
  • email
  • 2016-10-27 4 views -1 likes 
    -1

    メールメッセージを段落として送信するか、行ごとに送信する必要があります.HTMLフォームからメッセージを取得するとメッセージは "これは最初ですライン このIDセカンドライン」 私はphpメール機能でメッセージを1行ずつ送信する方法

    $mesg= mysqli_real_escape_string($con, $_POST['message']); 
    $mess= nl2br($mesg); 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
    $headers .= 'From: '.$from."\r\n". 
    'X-Mailer: PHP/' . phpversion(); 
    $message ='<html><body>'; 
    $message .='<p>Message : '.strip_tags($mess).'</p>'; 
    $message .='</body></html>'; 
    

    としてフォームから値をフェッチしますが、メッセージが表示され、mail.Iに単一のラインとして送信は、同様の問題を発見したが、答えはずっと私を助けていませんでし。 the link

    +0

    'mysqli_real_escape_string' < - なぜこれを電子メールメッセージのコンテンツに使用していますか? –

    +1

    あなたは単線を表示するだけで迷惑な電子メールメッセージを送信するのはなぜですか?通常のプレーンテキストメッセージを使用すると、改行はうまく表示され、何の理由もなく3倍の大きさの単純なテキストを展開しません。 _そして、あなたは読者のためのセキュリティ問題を作成しません。 – arkascha

    +2

    'nl2br()'の使用は正しいですが、あなたは 'strip_tags()'でそれを再び取り除いています。まず 'strip_tags()'を使い、その後に 'nl2br()'を使うべきです。 - > 'nl2br(strip_tags($ mess))'。 – Ivar

    答えて

    0

    コンテンツタイプがtext/htmlなので、htmlタグ<br>を使用する必要があります。

    content-typeヘッダーがなくても動作します。これは、電子メールがプレーンテキストと解釈されるためです。 \nを実際に使用する場合は、content-type:text/plainを使用する必要がありますが、マークアップを失うことになります。

    関連する問題