Ver*_*tus 51 php email content-type newline
我正在使用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);
Run Code Online (Sandbox Code Playgroud)
当我收到此电子邮件时,它看起来像这样:
CCCC CCCC CCCC CCC CCC CCC CCCC
Run Code Online (Sandbox Code Playgroud)
我希望这样的事情:
CCCC
CCCC CCCC CCC
CCC
CCC
CCCC
Run Code Online (Sandbox Code Playgroud)
没有"Content-type:"标题,它工作正常.如何创建新行并使用我的内容类型声明?
小智 23
如果您要发送HTML电子邮件,请按照说明使用<BR>(或<BR />).
如果您要发送纯文本电子邮件,请使用%0D%0A
\ r = %0D (Ctrl + M =回车)
\n = %0A (Ctrl + A =换行)
如果您的电子邮件中有电子邮件链接,
例如
<A HREF="mailto?To=...&Body=Line 1%250D%250ALine 2">Send email</A>
Run Code Online (Sandbox Code Playgroud)
然后使用%250D%250A
%25 =%
你需要使用<br>
而不是\r\n
.为此你可以使用内置函数调用nl2br
所以你的代码应该是这样的
$message = nl2br("CCCC\r\nCCCC CCCC \r CCC \n CCC \r\n CCC \n\r CCCC");
Run Code Online (Sandbox Code Playgroud)
小智 5
如果你使用content-type: text/html
你需要放一个,<br>
因为你的消息会像一个html 文件一样受到威胁。
但是如果你改变你的content-type
totext/plain
而不是text/html
你将能够使用\r\n
字符。
小智 5
使用
<BR>
并不总是足够的。如果您不使用以下命令告诉 Outlook 这是一个自闭合 html 标记,MS Outlook 2007 将忽略此标记
<BR />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
126335 次 |
最近记录: |