无法使用nodemailer发送html文本

时间:2016-07-19 06:50:56

标签: javascript node.js express nodemailer

我无法使用nodemailer在邮件中发送html文本。

exports.send = function(req, res) {
console.log(req.query);
var mailOptions = {
    to: req.query.email,
    subject: req.query.sub,
    text: 'Date of Interview: ' + req.query.dateOfInterview+ 'Time of Interview: ' + req.query.timeOfInterview + '' + req.query.assignedTechnicalPerson + '' + req.query.typeOfInterview + '' + req.query.interviewLocation
}
smtpTransport.sendMail(mailOptions, function(error, response) {
    if (error) {
        console.log(error);
        res.end("error");
    } else {
        console.log("Message sent: " + response.message);
        res.end("sent");

    }
});

};

我收到的邮件是连续文本,没有任何行间距 我如何使用html标签发送相同的文本我还试图保持HTML并最终得到很多错误

请说出正确的语法

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

以下是nodemailer最新版本的工作代码。

    var smtpTransport = require('nodemailer-smtp-transport');
    var transporter = nodeMailer.createTransport(
        smtpTransport({
            service: 'gmail',
            auth: {
                user: <Your gmail>,
                pass: '*****'//ur password
            }
        })
    );
    transporter.sendMail({
        from: 'sender@gmail.com',
        to: "recipient@mail.id",
        subject: 'hello world!',
        //text:"one"
        html: '<html><body>Hello World....</body></html>'
    }, function(error, response) {
        if (error) {
            console.log(error);
        } else {
            console.log('Message sent');
        }
    });

注意:要授予smtp访问权限,请执行以下操作:

  1. 对于Gmail,您可能需要在其中配置&#34;允许更少的安全应用&#34; Gmail帐户。 Click here
  2. 您还可能需要使用&#34;允许访问您的帐户来解锁您的帐户 Google帐户&#34; 使用SMTP。
  3. 如果您在这种情况下使用2FA,则必须创建一个 特定于应用程序的密码。