Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeEmailer不发送带换行符的文本_Javascript_Node.js_Nodemailer - Fatal编程技术网

Javascript NodeEmailer不发送带换行符的文本

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 ="/"; });

我使用的是NodeJS模块,用于发送邮件。但是,它不会发送带有换行符的邮件,但我已尝试打印出包含我试图发送的文本的变量,并且存在换行符

我得到我在文本区域中写的文本:

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