我想導出一個使用Sendgrid發送電子郵件的函數。我創建了一個我創建這個函數的外部文件。數據(用作參數的憑證)我放在其他文件中,我也將其導入。模塊導出功能
我沒有收到任何錯誤,但電子郵件根本沒有發送。
SEND_MAIL:
module.exports = {
'sendMail': function(subject, sender_email, email, link, username, template){
var request = sg.emptyRequest();
request.body = {
subject: subject,
from: {
email: sender_email
},
personalizations: [
{
to: [{
email: email
}],
substitutions: {
'[link]' : link,
'[email]' : email,
'[username]': username
}
}
],
template_id: template
};
request.method = "POST";
request.path = "/v3/mail/send";
return sg.API(request).then(function (response) {
console.log(response);
}).catch(function(err){console.log(err.response.body.errors);});
}
};
主文件(其中我導入功能):
var config = require('../config/config.json');
var utils= require('../service/utils');
var api_key = config.sendgrid.key;
var sg = require('sendgrid')(api_key);
.....
function(new_user){
var template = utils.new_account_template;
var sender_email= utils.new_account_email;
var link = utils.new_account_link;
var subject = utils.new_account_subject;
var email = new_user.email;
var username = new_user.username;
var utilemail = require('../service/utilemail')(subject, sender_email, email, link, username, template);
utilemail.sendMail(subject, sender_email, email, link, username, template);
return res.json(rs.success({ jwt: new_user.getJwt() }));
}).catch(function(err){
return res.json(rs.errorCode(err.message));
});
你能後整個'utilemail.js '文件內容?例如,那裏定義了「sg」?關閉'};'在哪裏打開? –
我在主文件中定義了sg,在這裏我導入了utilemail.js文件。 utilemail.js文件的完整代碼可以在我的文章中找到。這就是我所有的 –
不,因爲你通過'utilemail'調用導出的函數(通過執行require('../service/ utilemail')(...)'),應該有一個缺失的部分你的問題。 –