我在我的项目中使用电子邮件系统(PHP / MySql)。在我的电子邮件转发表单中,我有一个文本区域,其中包含gmail和yahoo正在执行的以下数据。
---------- Forwarded message ----------
From: <testfrom@yahoo.com>
Date: Mon, Jan 9, 2014 at 10:48 PM
Subject: Order Confirmation
To: testto@gmail.com
我在上面的数据中使用echo "\n";
来换行。当我在电子邮件中转发此数据时,它将作为一行发送而不是以上述格式发送。任何人都可以帮我如何以完全相同的格式发送它。
注意:我尝试使用<br>
来换行,但在这种情况下,它也会在电子邮件中发送<br>
。
答案 0 :(得分:0)
使用nl2br
为您的邮件。这会将所有\n
转换为<br/>
。
类似的东西:
$message = $_POST['message'];
mail('email@example.com', 'subject', nl2br($message));
答案 1 :(得分:0)
我唯一的假设是电子邮件中存在新的线条符号,您只是看不到它们。
例如,如果您创建php脚本:
<?php
echo "hello \n world";
并在浏览器中打开它,您将无法查看新行,因为浏览器不会将\n
符号作为换行符处理。
如果您查看网页来源,则只会看到换行符(在Chrome和Firefox中点击CTRL+U
,但不了解其他浏览器。)