2015-05-15 2 views
0

Я написал код для отправки электронной почты с PHP с использованием HTML и JavaScript (jQuery). В JS я определил следующие строки:PHP email linebreak

var firstT = "It is " + $("#time").html() + " right now."; 
var secondT = "And now, it is " + $("#othTime").html() + "."; 

var sendT = firstT + "\r\n" + secondT; 

Затем я посылаю эту строку в PHP файл:

var thTi = "folder/time.php?to=" + $("#perName").val() + "&message=" + sendT; 
    $.ajax({ 
     url: thTi 
    }); 

PHP получает эти строки и отправляет его с этим кодом:

<?php 

    $to = $_GET['to']; 
    $subject = "The Subject"; 
    $message = $_GET['message']; 
    $headers = 'From: Me?' . "\r\n" . 
       'Reply-To: [email protected]' . "\r\n" . 
       'X-Mailer: PHP/' . phpversion(); 

    mail($to, $subject, $message, $headers); 
?> 

Таким образом, проблема заключается в том, что когда человек получает сообщение, он находится в одной строке. Я добавил разрывы строк \r\n, даже пытался с <br> и <br />. Я где-то нашел, что вставка точки . может решить проблему, но я пробовал, и это не так.

+0

Я пробовал (
) и (
). (Он не распечатывал). –

+0

Как выглядит ваш заголовок? возврат каретки в порядке? – Julo0sS

ответ

2

Чтобы отправить HTML письмо с mail(), вы должны добавить соответствующие заголовки:

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From: Me?' . "\r\n"; 
$headers .= 'Reply-To: [email protected]' . "\r\n"; 
$headers .= 'X-Mailer: PHP/' . phpversion(); 

Для чистки и добавить разрывы строк в ваш HTML:

$message = strip_tags($_GET['message'];); 
$message_html = preg_replace('/\n/' , '<br />' , $message); 
0

Используйте двойные кавычки " вместо ', а затем \r\n будет работать. Так что ваш новый код должен выглядеть так:

$headers = "From: Me?" . "\r\n" . 
      "Reply-To: [email protected]" . "\r\n" . 
      "X-Mailer: PHP/" . phpversion(); 
0

Поскольку вы используете html-элементы в своей почте, первое, что вам нужно сделать, это установить тип заголовка этой почты в html. Добавляйте приведенные ниже строки в код переменной $ header в начале, прежде чем добавлять данные из этой и других деталей.

$headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
    $headers .= 'From: Me?' . "\r\n" . 
       'Reply-To: [email protected]' . "\r\n" . 
       'X-Mailer: PHP/' . phpversion(); 

для большего понимания этого вы можете увидеть по этой ссылке: http://www.w3schools.com/php/func_mail_mail.asp

Я надеюсь, что это поможет вам.