Nodemailer不发送带换行符的文本
我正在使用Nodemailer,它是用于发送邮件的NodeJS模块。但是,它不发送带有换行符的邮件,但是我尝试打印出包含要发送的文本的变量,并且有换行符。
我得到了我在文本区域中写的文本:
site.js:
$("#send-mail").click(function(){
$.post("/sendMail",{fieldHeader: $('#field-header').val()}, function(data){
window.location.href ="/";
});
});
server.js:
app.post('/sendMail', function(req, res) {
mailSender.init(req.body.fieldHeader);
});
mailSender.js
function init(fieldHeader) {
console.log(fieldHeader);
if(fieldHeader!=null) {
var mailer = require("nodemailer");
var smtpTransport = mailer.createTransport({
host: "smtp.gmail",
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(),这是结果:
但是收到的邮件不包含换行符:
[我一直在考虑使用循环来替换<br>
的换行符,该循环将查找并检查文本中的每个字符,但是我不确定这是否是一个好主意。
您可以这样使用它
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
}
它将为您解决问题。
Nodemailer不发送带换行符的文本
我正在使用Nodemailer,它是用于发送邮件的NodeJS模块。但是,它不发送带有换行符的邮件,但是我尝试打印出包含要发送的文本的变量,并且有换行符。
我得到了我在文本区域中写的文本:
site.js:
$("#send-mail").click(function(){
$.post("/sendMail",{fieldHeader: $('#field-header').val()}, function(data){
window.location.href ="/";
});
});
server.js:
app.post('/sendMail', function(req, res) {
mailSender.init(req.body.fieldHeader);
});
mailSender.js
function init(fieldHeader) {
console.log(fieldHeader);
if(fieldHeader!=null) {
var mailer = require("nodemailer");
var smtpTransport = mailer.createTransport({
host: "smtp.gmail",
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(),这是结果:
但是收到的邮件不包含换行符:
[我一直在考虑使用循环来替换<br>
的换行符,该循环将查找并检查文本中的每个字符,但是我不确定这是否是一个好主意。
您可以这样使用它
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
}
它将为您解决问题。