Javascript NodeEmailer在本地工作,但不在lambda上工作

Javascript NodeEmailer在本地工作,但不在lambda上工作,javascript,node.js,lambda,nodemailer,Javascript,Node.js,Lambda,Nodemailer,当我在本地运行时,NodeEmailer会发送电子邮件,但在lambda上不会。令人惊讶的是,没有一个解决类似问题的方法对我有效。其中一个问题还建议将nodemailer中的sendmail函数设置为异步,并等待它,因为它不会像在本地服务器上那样等待它在AWS上完成执行 下面是我的带有邮件逻辑的代码(请参考我用标签[1]和[2]注释的行): import*作为nodemailer从'nodemailer'导入; 导入SMTPTransport=require('nodeEmailer/lib/

当我在本地运行时,NodeEmailer会发送电子邮件,但在lambda上不会。令人惊讶的是,没有一个解决类似问题的方法对我有效。其中一个问题还建议将nodemailer中的sendmail函数设置为异步,并等待它,因为它不会像在本地服务器上那样等待它在AWS上完成执行

下面是我的带有邮件逻辑的代码(请参考我用标签[1]和[2]注释的行):

import*作为nodemailer从'nodemailer'导入;
导入SMTPTransport=require('nodeEmailer/lib/smtp传输');
从“跟踪器”导入*作为跟踪器;
从“通用模型/传输”导入{Transport};
从“公共模型/MailObject”导入{MailObject};
从“nodeEmailer”导入*作为邮件;
导入EmailTemplates=require('swig-email-templates');
导出类MailHelper{
私有日志级别=process.env.TRACER|u级别| |“调试”;
私有smtpOptions:SMTPTransport.Options;
私人传送者:nodemailer.transporter;
私人模板:电子邮件模板;
专用记录器:Tracer.Tracer.logger=Tracer.colorConsole({
level:this.logLevel
});
建造商(运输:运输){
this.smtpOptions={
主机:transport.host,
港口:运输,港口,
安全的,安全的,
tls:transport.tls,
认证:{
用户:transport.auth.user,
密码:transport.auth.password
}
}
}
connect():承诺{
log(`insideconnect`);
返回新承诺(异步(解析、拒绝)=>{
试一试{
this.transporter=wait nodemailer.createTransport(this.smtpOptions)
决心(正确);
}捕获(错误){
此.logger.fatal(错误);
拒绝(错误);
}
})
}
异步sendMail(body:MailObject):Promise{//{
如果(!this.transporter){
this.logger.warn(`Transporter未初始化。使用connect方法`);
拒绝(`Transporter未初始化。使用connect方法`);
}
log(`insidenthepromise of sendMail`);
this.transporter.sendMail(mailpoptions).then(异步值=>{//{
此.logger.fatal(错误);
拒绝(错误);
})
})
}
public sendMailFromHTML(正文:MailObject):Promise{
返回新承诺(异步(解析、拒绝)=>{
log(`在sendMailFromHTML的承诺内');
this.sendMail(body).then((值:string)=>{
决心(价值);
}).catch(错误=>{
拒绝(错误);
})
})
}
public sendMailFromTemplate(正文:MailObject,值:{}):Promise{
this.templates=新的EmailTemplates();
返回新承诺((解析、拒绝)=>{
log(`sendMailFromTemplate`的内部承诺);
this.templates.render(body.template?body.template:“”,值,(err,html,text,subject)=>{
如果(错误){
此.logger.error(错误);
拒绝(错误);
}否则{
body.subject=subject?subject:body.subject;
body.html=html;
body.text=文本;
this.sendMail(body).then((值:string)=>{
决心(价值);
}).catch(错误=>{
拒绝(错误);
});
}
});
});
}
}