Javascript NodeEmailer不发送带换行符的文本
我使用的是NodeJS模块,用于发送邮件。但是,它不会发送带有换行符的邮件,但我已尝试打印出包含我试图发送的文本的变量,并且存在换行符 我得到我在文本区域中写的文本:Javascript NodeEmailer不发送带换行符的文本,javascript,node.js,nodemailer,Javascript,Node.js,Nodemailer,我使用的是NodeJS模块,用于发送邮件。但是,它不会发送带有换行符的邮件,但我已尝试打印出包含我试图发送的文本的变量,并且存在换行符 我得到我在文本区域中写的文本: site.js: $("#send-mail").click(function(){ $.post("/sendMail",{fieldHeader: $('#field-header').val()}, function(data){ window.location.href ="/"; });
site.js:
$("#send-mail").click(function(){
$.post("/sendMail",{fieldHeader: $('#field-header').val()}, function(data){
window.location.href ="/";
});
});
app.post('/sendMail', function(req, res) {
mailSender.init(req.body.fieldHeader);
});
server.js:
$("#send-mail").click(function(){
$.post("/sendMail",{fieldHeader: $('#field-header').val()}, function(data){
window.location.href ="/";
});
});
app.post('/sendMail', function(req, res) {
mailSender.init(req.body.fieldHeader);
});
mailssender.js
function init(fieldHeader) {
console.log(fieldHeader);
if(fieldHeader!=null) {
var mailer = require("nodemailer");
var smtpTransport = mailer.createTransport({
host: "smtp.gmail.com",
service: "Gmail",
tls:{
rejectUnauthorized: false
},
auth: {
user: "...",
pass: "..."
}
});
var mail = {
from: "...",
to: "...",
subject: "Send Email Using Node.js",
text: "Node.js New world for me",
html: fieldHeader
}
smtpTransport.sendMail(mail, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
smtpTransport.close();
});
}
}
module.exports.init = init;
正如我所说的,我打印出了包含我想在邮件中发送的文本的变量(这是您在mailSender.js
页面看到的console.log()),结果如下:
但收到的邮件不包含任何换行符:
我一直在考虑将换行符替换为
,使用一个循环来查看和检查文本中的每个字符,但我不确定这是否是一个好主意。您可以这样使用它
var fieldheader = `hi <br> how are you ? <br> this is testing <br>`
var mail = {
from: "...",
to: "...",
subject: "Send Email Using Node.js",
text: "Node.js New world for me",
html: fieldHeader
}
var fieldheader=`hi
你好吗
这是测试
`
var邮件={
从:“…”,
至:“…”,
主题:“使用Node.js发送电子邮件”,
文字:“Node.js我的新世界”,
html:fieldHeader
}
它会解决你的问题。你可以这样使用它
var fieldheader = `hi <br> how are you ? <br> this is testing <br>`
var mail = {
from: "...",
to: "...",
subject: "Send Email Using Node.js",
text: "Node.js New world for me",
html: fieldHeader
}
var fieldheader=`hi
你好吗
这是测试
`
var邮件={
从:“…”,
至:“…”,
主题:“使用Node.js发送电子邮件”,
文字:“Node.js我的新世界”,
html:fieldHeader
}
它会解决你的问题。只要把
\n
放在你想要换行的地方。只要把\n
放在你想要换行的地方。可能会复制try$('.\field header').html()而不是.val(),我用.hml()试过,显然它只用.val()得到它的值。但我已经设法解决了。我在html属性中发送文本,但我删除了它,并将其放在文本属性中,它现在可以工作了。无论如何,谢谢。可能是try$(“#字段头“).html()而不是.val()的重复,我用.hml()尝试过,显然它只用.val()获得它的值。但我已经设法解决了。我在html属性中发送文本,但我删除了它,并将其放在文本属性中,它现在可以工作了。无论如何,谢谢。是的,但我不能使用它,因为fileheader
是一个包含我在textarea字段中写入的文本的变量。因此,它并不总是具有相同的值。无论如何,谢谢。那么最好使用ckediter
而不是简单的文本编辑器。因为在ckeditor中,您将获得html格式的数据,因此它将适用于您。我已经寻找了ckeditor
,但我已设法更轻松地解决了我的问题。我在html属性中发送文本,但我删除了它,并将其放在文本属性中,它现在可以工作了。谢谢你,欢迎。很高兴帮助你@Adriánt95是的,但我不能使用它,因为fileheader
是一个包含我在textarea字段中写入的文本的变量。因此,它并不总是具有相同的值。无论如何,谢谢。那么最好使用ckediter
而不是简单的文本编辑器。因为在ckeditor中,您将获得html格式的数据,因此它将适用于您。我已经寻找了ckeditor
,但我已设法更轻松地解决了我的问题。我在html属性中发送文本,但我删除了它,并将其放在文本属性中,它现在可以工作了。谢谢你,欢迎。很高兴帮助你@阿德里安95