为什么我不能用mail()函数插入新行?

时间:2015-01-19 12:41:42

标签: php

我正在尝试发送一些电子邮件和电子邮件,我需要打破一些行并放置一些空格。 这就是我试图做到的,没有运气:

for ($i = 0; $i < count($dataArray); $i++) {
    $to = $dataArray[$i]['email'];
    $subject = 'New member message';
    $message = "Hello!" . "\r\n" . "Member message: " . "\r\n" . "\r\n" . $dataArray[$i]['message'] . "\r\n" . "\r\n" . "This is an automated message, please do not respond to it!";

    $headers = 'From: info@domain.com' . "\r\n" .
           'Reply-To: info@domain.com' . "\r\n" .
           'Content-Type: text/html; charset=UTF-8' . "\r\n" .
           'MIME-Version: 1.0' . "\r\n" .
           'Content-Transfer-Encoding: quoted-printable' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

但结果导致单行文本,包括文本中的\r\n - 它没有插入新行。

如何插入新行?为什么\r\n无效?

我知道我在这里错过了一个非常非常小的部分,但作为一个php初学者,我无法发现它。

3 个答案:

答案 0 :(得分:1)

Try <br> tag before /r/n. hope it will work.

答案 1 :(得分:1)

你必须使用一个简单的 <br /> 换一条新线路 \r\n 仅用于标题

答案 2 :(得分:-1)

试试这段代码。

for ($i = 0; $i < count($dataArray); $i++) {
$to = $dataArray[$i]['email'];
$subject  = 'Testing sendmail.exe';
$message = "Hello!" . "\r\n" . "Member message: " . "\r\n" . "\r\n" .         $dataArray[$i]['message'] . "\r\n" . "\r\n" . "This is an automated message, please do not respond to it!";
$headers  = 'From: info@domain.com' . "\r\n" .
        'Reply-To: info@domain.com' . "\r\n" .
        'MIME-Version: 1.0' . "\r\n" .
        'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers))
{
 echo 'mail send';
}
else
{
 echo 'mail fail';
 }
}

将标题的内容类型更改为&#39;内容类型:text / html;字符集= ISO-8859-1&#39;