我的结构:
site
-- node_modules
---- nodemailer
-- webclient
---- js
------- controller.js
site/node_modules/nodemailer
site/webclient/js/controller.js
站点/网络客户端/js/controller.js:
var nodemailer = require('../../node_modules/nodemailer');
var transport = nodemailer.createTransport('SES', {
AWSAccessKeyID: 'xxx', // real one in code
AWSSecretKey: 'xxx', // real one in code
ServiceUrl: 'email-smtp.us-west-2.amazonaws.com'
});
var message = {
from: 'example@mail.com', // verified in Amazon AWS SES
to: 'example@mail.com', // verified in Amazon AWS SES
subject: 'testing',
text: 'hello',
html: '<p><b>hello</b></p>' +
'test'
};
transport.sendMail(message, function(error) {
if (error) {
console.log(error);
} else {
console.log('Message sent: ' + response.message);
}
});
这段代码是控制器的一部分,在其中所有其他功能都能正常工作。
- 我是否遗漏了什么?
- 也许我调用了不正确的nodemailer模块?
- 或者传输应该是SMTP而不是SES?
我陷入了困境。
transport.sendMail()
函数传递正确的参数吗?你只传递了一个函数,但通常你需要传递一个处理成功的函数和一个处理错误的函数。尽管我不熟悉 nodemailer,但它似乎没有为成功路径提供回调函数有点奇怪。 - Sunil D.