通过电子邮件发送换行符\ r \ n \ nPHP mail()

时间:2014-02-27 00:53:44

标签: php sendmail line-breaks

$order="";
$order .= "<strong>Sent:</strong> ";
$order .= date("F j, Y, g:i a");
$order .= "\r\n";
$order .= "\r\n";
$order .= $message;

我的代码有效,但是,我正在尝试在date函数和$ message之间添加换行符。我只用\ n尝试过它,但似乎没有任何效果。有不同的方式吗?我回复$orderdate$message之间没有换行符。

我也试过

$order .= '<br />';但这也不起作用。有什么帮助吗?

完整代码:

<?php
session_start();
if(isset($_POST['order'])){
$message = $_POST['order'];
}
$order="";
$order .= "<strong>Sent:</strong> ";
$order .= date("F j, Y, g:i a");
$order .= "\r\n";
$order .= "\r\n";
$order .= $message;

//print_r($_POST);
echo $order;
include "imagehover.php";

    $email_to = "email1@gmail.com";
    $email_subject = "Subject Line";
    $email_from = "email2@gmail.com";

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <email@gmail.com>' . "\r\n";

'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($email_to, $email_subject, $order, $headers);  
session_destroy();
?>

1 个答案:

答案 0 :(得分:1)

此行不完整/已损坏:

'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();

替换为整个块:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: <email@gmail.com>" . "\r\n" .
                "Reply-To: $email_from" . "\r\n" .
                'X-Mailer: PHP/' . phpversion();

将其更改为:

$order="";
$order .= "<strong>Sent:</strong> ";
$order .= date("F j, Y, g:i a");
$order .= "<br>";
$order .= "<br>";
$order .= $message;