如何使用Express JS发送电子邮件模板

时间:2020-10-15 09:48:37

标签: javascript node.js

我创建了一个名为mail_check的API。当邮件当时必须调用post方法时,邮件必须发送特定的邮件ID以及带有更新的名称,消息,主题的预定义模板。我的代码正在运行,但是我收不到邮件。我注意到控制台放了我所拥有的。

function node_email_send(to, subject, name)
{
                console.log("fuction called");
            var readHTMLFile = function(path, callback) {
                    fs.readFile(path, {encoding: 'utf-8'}, function (err, html) {
                        if (err) {
                            throw err;
                            callback(err);
                        }
                        else {
                            console.log("html readed");
                            callback(null, html);
                            
                        }
                    });
                };
                var smtpTransport = nodemailer.createTransport(smtpTransport({
                    service: 'gmail',
                     auth: {
                    user: 'mail@gmail.com',
                    pass: 'password'
                    }
                
                }));
                
                
                readHTMLFile(__dirname + 'public_html/views/email.hbs', function(err, html) {
                    var template = handlebars.compile(html);
                    var replacements = {
                         playername: "John Doe"
                    };
                    var htmlToSend = template(replacements);
                    
                    var mailOptions = {
                        from: 'mail@gmail.com',
                        to : to,
                        subject :'prakash',
                        html : htmlToSend
                     };
                     
                    smtpTransport.sendMail(mailOptions, function (error, response) {
                        if (error) {
                            console.log(error);
                            callback(error);
                        }else
                        {
                            console.log("mail send");
                        }
                    });
                });
}

router.post('/mail_check', function (req, res, next) {
    
    console.log(req.body.to);
    res.send(node_email_send('mail1@gmail.com', 'test', 'test message'));
   });

,它只给出下面给出的结果。

Connected!
prakashfirefox@gmail.com
fuction called
POST /api/mail_check 500 34.797 ms - 1147

0 个答案:

没有答案