$str = "Hello Jagdish \n\n";
$str .= "this is nice evening \n\n";
$str = stripcslashes($str);
mail($to, $subject, $message);
在Outlook中查看此电子邮件时,没有“\ n \ n”即将出现
是什么原因?
如何在电子邮件中获取这些内容?
答案 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