【发布时间】:2013-09-18 10:45:35
【问题描述】:
我正在使用下面的代码使用 php 将 textarea 内容作为电子邮件发送
<?php
$to = $_POST['emailbox'] ;
$message1 = $_REQUEST['output_textarea'];
$subject = 'script';
$message = "
<html>
<body>
<table bgcolor='lightcyan'>
<p>heading</p>
$message1;
</table>
</body>
</html>
";
$headers = "From: admin@domain.com\r\n";
$headers .= "Reply-To: acr@domain.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
?>
但是电子邮件忽略了文本区域中的所有换行符。如何在文本区域保留换行符?
【问题讨论】:
-
开启
$message1将所有\n字符替换为<br> -
只使用BR标签在html邮件内容中换行
-
使用nl2br
-
谨防让垃圾邮件变得太容易——这个脚本允许用户将他想要的任何消息发送到他想要的任何地址;这基本上是对垃圾邮件发送者的公开邀请,让他们使用您的系统发送尽可能多的垃圾邮件。
-
另外,您的 HTML 代码中有一个
<table>标记,看起来不正确。您可能应该用<div>替换它,除非您实际上希望$message1包含<tr>和<td>元素。
标签: php html-email