一尘不染

换行(\ r \ n)在电子邮件正文中不起作用

php

我正在使用PHP mail()函数:

    $to      = 'AAAA <postmaster@xxx.xx>';
    $subject = 'BBBB';
    $message = "CCCC\r\nCCCC CCCC \r CCC \n CCC \r\n CCC \n\r CCCC";
    $headers = 'From: DDD<postmaster@xxx.xx>' . "\r\n";
    $headers .= "Content-Type: text/html; charset=\"UTF-8\"; format=flowed \r\n";
    $headers .= "Mime-Version: 1.0 \r\n"; 
    $headers .= "Content-Transfer-Encoding: quoted-printable \r\n";
    mail($to, $subject, $message, $headers);

当我收到这封电子邮件时,它看起来像这样:

CCCC CCCC CCCC CCC CCC CCC CCCC

我期望这样的事情:

CCCC
CCCC CCCC CCC 
CCC 
CCC 
CCCC

没有Content-TypeHTTP标头也可以正常工作。如何制作 新行 并仍使用“ Content-
Type”声明?


阅读 1277

收藏
2020-05-29

共1个答案

一尘不染

您需要使用一个,<br>因为您Content-Typetext/html

它没有Content-Type标题就可以工作,因为这样您的电子邮件将被解释为 纯文本 。如果您确实想使用\n,则应该使用,Content- Type: text/plain但那样会丢失任何标记。

2020-05-29