实际上,我是使用AmazonWebService(AWS)的新手,但就我而言,我必须使用node.js创建一些程序才能使用AWS SES node.js发送电子邮件
我已经阅读了所有AWS SES文档,但我不太了解。一些博客写了教程,我遵循了他们的代码,但是在我的代码中没有用。
我有两个编写的示例代码。这是第一个代码:
var nodemailer = require('nodemailer');
var ses = require('nodemailer-ses-transport');
var transporter = nodemailer.createTransport(ses({
accessKeyId: 'xxxxxxxxxxxxxxxxxxx',
secretAccessKey: 'xxxxxxxxxxxxxxxxxxxxxxxxx'
}));
transporter.sendMail({
from: '[email protected]',
to: '[email protected]',
subject: 'My Amazon SES Simple Email',
text: 'Amazon SES is cool'
});
上面是来自此http://budiirawan.com/send-emails-using-amazon-ses-and-node-js/的代码参考
第二个是这样的:
var aws = require('aws-sdk');
var ses = new aws.SES({
accessKeyId: 'xxxxxxxxxxxxxxxxxxx',
secretAccesskey: 'xxxxxxxxxxxxxxxxxxxxxxxx',
region: 'us-west-2'
});
// send to list
var to = ['[email protected]'];
// this must relate to a verified SES account
var from = '[email protected]';
// this sends the email
// @todo - add HTML version
ses.sendEmail( {
Source: from,
Destination: { ToAddresses: to },
Message: {
Subject: {
Data: 'A Message To You'
},
Body: {
Text: {
Data: 'Stop your messing around',
}
}
}
}
, function(err, data) {
if(err) throw err
console.log('Email sent:');
console.log(data);
});
来自http://timstermatic.github.io/blog/2013/08/14/sending-emails-with-node-dot-js-and-amazon-ses/的第二个代码参考。第二个代码给我错误消息:
C:\xampp\htdocs\mail\node_modules\aws-sdk\lib\request.js:31
throw err;
^
Error: connect ENETUNREACH :80
at Object.exports._errnoException (util.js:856:11)
at exports._exceptionWithHostPort (util.js:879:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1063:14)
两者都不起作用,我确保我的AWS访问密钥正确并且AWS SES已验证我的[email protected]。如果有人可以解决这个问题,我非常感激。
我已经找到了解决这种情况的方法。第一个代码实际上有效,我只是忘了将AWS Region包含在SES声明中,我们应该从AWS获得经过验证的电子邮件。这是我的新代码,效果很好。谢谢
var nodemailer = require('nodemailer');
var ses = require('nodemailer-ses-transport');
var transporter = nodemailer.createTransport(ses({
accessKeyId: 'xxxxxxxxxxxxxxxxxxx',
secretAccessKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
region: 'us-west-2'
}));
transporter.sendMail({
from: '[email protected]',
to: '[email protected]',
subject: 'Email Testing',
html: '<h1>Title</h1>',
attachments: [
{
filename: 'report',
path: 'C:\\xampp\\htdocs\\js\\report.xlsx',
contentType: 'application/vnd.ms-excel'
}
]
}
, function(err, data) {
if(err) throw err
console.log('Email sent:');
console.log(data);
});
该代码使用也发送附件,希望它能对遇到同样情况的人有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句