簡體   English   中英

節點js從電子郵件地址發送網格為空(必填)

[英]Node js Send grid Empty from email address (required)

我正在使用Sendgrid使用Node jS發送電子郵件。

但是,即使我已指定發件人地址,我仍會收到“從電子郵件地址中清空(必填)”。

郵件在注冊時發送給用戶,但是對於以下函數調用,我得到了錯誤。

在我的Routes / orders.js中

// Start Sendgrid Configuration Settings
var options = {
    auth: {
        api_user: 'user123', // Sendgrid username
        api_key: '$user123' // Sendgrid password
    }
}

var client = nodemailer.createTransport(sgTransport(options));
// End Sendgrid Configuration Settings  

router.post('/changeStatus', (req, res, next) => {
Orders.changeStatus(req.body.status, req.body.id, (err, orders) => {

    if (err) {
        res.json({ success: false, msg: 'No Orders' });
    }
    else {
        Orders.getUserByOrderNo(req.body.id, (err, user) => {
            //Send mail on success
            var email = {
                from: 'Localhost Staff, staff@localhost.com',
                to: user[0].user_id.email,
                subject: 'Welcome to ABC',
                text: 'Hello ' + user[0].user_id.username + ', thank you for registering at Food4Smiles.com. ',
                html: 'Hello<strong> ' + user[0].user_id.username + '</strong>,<br><br>Thank you for registering at ABC.com. '
            };
            // Function to send e-mail to the user
            client.sendMail(user[0].user_id.email, function (err, info) {
                if (err) {
                    console.log(err); // If error with sending e-mail, log to console/terminal
                }
                else {
                    console.log('Mesage sent !!' + info.response);
                }
            });
        })
        res.json({ success: true, order: orders });
    }
});
})

車型/ orders.js

module.exports.getUserByOrderNo = function (orderNo, callback) {

    console.log(orderNo)
    Orders.find({ orderNo: orderNo }).populate('user_id').exec(callback)
}

完整的錯誤堆棧跟蹤:

錯誤:電子郵件地址為空(必填)

在Request.self.callback(/ var / www / html / Express /)上的Request._callback(/var/www/html/Express/Local-MEAN-dev/node_modules/sendgrid/lib/sendgrid.js:88:25) Local-MEAN-dev / node_modules / request / request.js:188:22)在Request.emit(events.js:194:7)處在generateTwo(events.js:106:13)中。 (/var/www/html/Express/Local-MEAN-dev/node_modules/request/request.js:1171:10),位於Request.emit(events.js:191:191)的emitOne(events.js:96:13): 7)在IncomingMessage。 (/var/www/html/Express/Local-MEAN-dev/node_modules/request/request.js:1091:12),位於Object.onceWrapper(events.js:293:19),位於emitNone(events.js:91: 20)在incomingMessage.emit(events.js:188:7)在endReadableNT(_stream_read.js:974:12)在_combinedTickCallback(internal / process / next_tick.js:80:11)在process._tickCallback(internal / process / next_tick.js:104:9)

好的,我的錯誤是在sendMail函數中:

我不得不將其更改為:

client.sendMail(email, function (err, info){}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM