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 파일의 전체 코드를 사용할 수 있습니다. 그게 내가 가진 전부 야. –
아니야,'require ('../ service/utilemail') (...)'을 실행하여'utilemail'에 의해 내 보낸 함수를 호출 했으므로 빠진 부분이 있어야한다. 너의 질문. –