Nodemailer在保存json文件后不发送邮件

时间:2017-07-30 02:48:04

标签: json node.js nodemailer

我收到post requst,然后处理与表单一起发送的数据。一切正常,直到我添加部分保存一些数据到json文件。 我的问题是在mongoose的dataModel上回调save()方法。 代码如下所示:

dataModel.save((err, doc) => {
    if(err)
        console.log('Error: ', err);
    else {
        let time = Date.parse(doc.expirationDate);
        fs.readFile('./db.json', (err, data) => {
            if(err)
                console.log('Error: ', err);

            data = JSON.parse(data);
            data.timers.push({'id': doc._id, time: time});
            fs.writeFile('./db.json', JSON.stringify(data), err => {
                if(err)
                    console.log('Error: ', err);
            });
        });

        mailer.transporter.sendMail({
            from: 'Me <me@gmail.com>',
            to: `you@gmail.com`,
            subject: 'Subject',
            html: `<h1>Something</h1>`,
            text: `Something`
        }, (err, info) => {
            if(err)
                console.log('Error: ', err);
            else
                console.log('Mail has been sent. ', info.response);
        });
        mailer.transporter.sendMail({
            from: 'Me <me@gmail.com>',
            to: `someoneelse@gmail.com`,
            subject: 'Different subject',
            html: `Different message`,
            text: 'Different message'
        }, (err, info) => {
            if(err)
                console.log('Error: ', err);
            else
                console.log('Mail has been sent. ', info.response);
        });
    }
});

奇怪的是,使用此代码,json文件保存正确,但邮件未发送,但如果我评论部分保存db.json文件,邮件发送正确。你知道什么是错的吗?

0 个答案:

没有答案
相关问题