我正在写一个PHPEmailer文件,我将isHTML
设置为true,我也有这个来格式化我的输出:
$mail->Body =
"Name: " . $_POST['quote_name'] .
"\r\n\r\nCompany: " . $_POST['quote_company'] .
"\r\n\r\nPhone: " . $_POST['quote_phone'] .
"\r\n\r\nAddress: " . $_POST['quote_address'] .
"\r\n\r\nCity: " . $_POST['quote_city'] .
"\r\n\r\nState: " . $_POST['quote_state'] .
"\r\n\r\nZip: " . $_POST['quote_zip'] .
"\r\n\r\nInspirational Link: " . $_POST['quote_link1'] .
"\r\n\r\nInspirational Link: " . $_POST['quote_link2'] .
"\r\n\r\nInspirational Link: " . $_POST['quote_link3'] .
"\r\n\r\nInspirational Link: " . $_POST['quote_link4'] .
"\r\n\r\nProject Details: " . stripslashes($_POST['quote_details']);
但电子邮件是这样的:
姓名:John Doe公司:可口可乐电话:5552345678地址:123 Main St城市:纽约州:NY邮编:17011励志链接:励志链接:鼓舞人心的链接:鼓舞人心的链接:项目详情:示例文本
我想要的是每个字段都在其自己的行
答案 0 :(得分:3)
当您为PHPMailer将isHTML
设置为true
时, 会在输出时生效,正如您在评论中所述你的问题。它只设置标志以发送标题部分,表明电子邮件是HTML邮件:Content-type:text/html;
,没有别的。
因此,您实际需要做的是将所有\r\n
替换为<br>
代码,否则您将无法获得换行符。
答案 1 :(得分:2)
\r\n
并不意味着什么;您需要<br>
代码
\r\n
对于源HTML的可读性仍然有用,但它不会在HTML输出中产生换行符
答案 2 :(得分:2)
您的电子邮件设置为html。我们改为使用br标签。
"<br>Company: " . $_POST['quote_company'] .
答案 3 :(得分:2)
您可以使用<br/>
代替\r\n\r\n
,因为HTML已启用。
如果您想使用\r\n\r\n
,则需要nl2br()
:
<?php
Body = nl2br("\r\n\r\nCompany: ");
?>
答案 4 :(得分:0)
searchElem.addEventListener("input", function() {
var rgx = new RegExp(this.value.replace(/([.^$|*+?()\[\]{}\\-])/g, "\\$1"), 'i');
searchArray.forEach(function(el, idx) {
if (transitionEnd) {
if (rgx.test(el)) cells[idx].removeAttribute('class');
else cells[idx].className = 'hidden';
var i = -1,
cellPosition = 0;
while (++i < cellLength) {
if (cells[i].className != "hidden")
cells[i].style.transform = "translateY(" + (cellPosition++ * cellHeight) + "px)";
}
}
});
});
你可以尝试here。