“\ n”没有进入OUTLOOK电子邮件

时间:2011-08-09 13:07:20

标签: php outlook

$str = "Hello Jagdish \n\n";
$str .= "this is nice evening \n\n";
$str = stripcslashes($str);
mail($to, $subject, $message);

在Outlook中查看此电子邮件时,没有“\ n \ n”即将出现 是什么原因?
如何在电子邮件中获取这些内容?

4 个答案:

答案 0 :(得分:4)

Outlook re-formats plain-text e-mails as it sees fit。这可以在选项中关闭,但如果您以纯文本形式向客户发送内容,则无法对此进行任何操作。

理论上,它试图检测固定宽度的列,并删除固定宽度,以便电子邮件更具可读性。根据我的经验,这只会产生烦恼,正如您所经历的那样。

如果您要发送电子邮件的HTML版本,则会正确使用和格式化。 (请注意,对于无法使用HTML版本的客户端,除了HTML版本之外,还应始终发送纯文本版本。默认情况下,Outlook使用HTML版本(如果存在)。

答案 1 :(得分:2)

Outlook会在纯文本电子邮件中自动删除换行符。

如果确实如此,它会告诉你(好吧,至少是Outlook 2003),你可以选择恢复它们。

答案 2 :(得分:0)

我有同样的问题(在Java中)使用\ n和\ n生成纯文本电子邮件。这很烦人,因为使用2 \ n为我添加了两个新行,所以我可以做零或两个新行而不是一行。

我试过\ r \ n但是它似乎没有做到这一点。

我想出了解决我问题的黑客行为。我刚刚在行结束后和\ n之前添加了一堆空格。我发现我需要3个空间才能工作。

body + =“单词单词\ n”;

因为我的行是57个字符长没有空格,我假设前景是组合少于60个空格(57 + 3 = 60)的行。让我这样做是很糟糕的,但它对我有用!

答案 3 :(得分:-1)

Windows使用\r\n换行符,尝试将每个\n替换为\r\n。 此外,您需要删除$str = stripcslashes($str);,因为它会将\n转换为n