【发布时间】:2015-10-22 18:30:00
【问题描述】:
我知道这个问题多年来被问过很多版本,但这里或任何地方的答案似乎都没有帮助。
我有来自支持页面上的单个文本区域的票证内容。当从数据库调用并使用 nl2br 回显到页面时,一切都很好。但是,当应用于 PHP 邮件中的消息内容变量时,结果会有所不同。
$to = 'AnEmailAddress';
$message = '
<html>
<head>
<title>Message From The System</title>
</head>
<body>
<table>
<tr>
<td>Message: </td><td>'.$ticket_content.'</td>
</tr>
</table>
</body>
</html>
'."\r\n";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: <'.$user_email.'>' . "\r\n";
mail($to, $subject, $message, $headers);
到目前为止,我已经尝试过......
$ticket_content = nl2br($ticket_content);
并将 nl2br 放入表本身..
<td>Message: </td><td>'.nl2br($ticket_content).'</td>
我已经尝试将 preg 和 str 替换为
的 \r\n。但都无济于事,消息输出总是一样的。
你好\r\n\r\n你能检查一下客户端有正确的彩条吗 请问你在他的约会时吗?\r\n\r\nStephen
我也尝试过不使用表格和使用表格,只使用纯文本并删除前两个标题。无论我做什么,它都不会显示换行符。
【问题讨论】:
-
这些真的是 \r 和 \n 字符,还是只是仰泳,然后是纯文本中的 -r 或 -n?你能打印字符串字节的十六进制值吗?回车和换行应该有不同的值。
-
您已将您的问题标记为 PhpMailer,但您没有使用它。让您的生活更轻松,立即使用! :)
-
让这成为关于“不要调用 mail();你会做错”主题的又一课。使用PHPMailer。
-
如果我们看不到代码,就无法说出
$ticket_content有什么问题。
标签: php