使用 Amazon SES 服务无法从 node.js 发送电子邮件
Sending email from node.js using Amazon SES service not working
我正在 node.js 上使用 Google Dialogflow 开发一个聊天机器人项目,我想使用 Amazon SES,但由于某种原因它失败了,我使用的代码如下:
var aws = require('aws-sdk');
var ses = new aws.SES(
{
"accessKeyId": functions.config().aws.key,
"secretAccessKey": functions.config().aws.secret,
"region": "eu-west-1" ,
});
var eParams = {
Destination: {
ToAddresses: ["x@y.com"]
},
Message: {
Body: {
Text: {
Data: "Hey! What is up?"
}
},
Subject: {
Data: "Email Subject!!!"
}
},
Source: "x.y@z.com"
};
var email = ses.sendEmail(eParams, function(err, data){
if(err) console.log(err);
else {
console.log("===EMAIL SENT===");
console.log(data);
}
});
我在 Firebase Functions 中查看日志时遇到的错误是:
dialogflowFirebaseFulfillment
{ UnknownEndpoint:无法访问的主机:email.us-standard.amazonaws.com'. This service may not be available in the
eu-west-1` 区域。
在 Request.ENOTFOUND_ERROR (/user_code/node_modules/aws-sdk/lib/event_listeners.js:456:46)
我正在使用 Firebase 的免费层级,这重要吗?
Cloud Functions for Firebase 的免费 ("Spark") 层不允许 Google 以外的网络连接。
您可以升级到 "Blaze" 计划,但是它允许网络连接。即使是付费级别,仍然有一个 "free tier" 允许合理的开发和使用级别,不会产生任何费用。
来自 https://firebase.google.com/pricing/(将鼠标悬停在 Cloud Functions 旁边的问号上):
On the Blaze plan, Cloud Functions provides a perpetual free tier. The first 2,000,000 invocations, 400,000 GB-sec, 200,000 CPU-sec, and 5 GB of Internet egress traffic is provided for free each month. You are only charged on usage past this free allotment.
我正在 node.js 上使用 Google Dialogflow 开发一个聊天机器人项目,我想使用 Amazon SES,但由于某种原因它失败了,我使用的代码如下:
var aws = require('aws-sdk');
var ses = new aws.SES(
{
"accessKeyId": functions.config().aws.key,
"secretAccessKey": functions.config().aws.secret,
"region": "eu-west-1" ,
});
var eParams = {
Destination: {
ToAddresses: ["x@y.com"]
},
Message: {
Body: {
Text: {
Data: "Hey! What is up?"
}
},
Subject: {
Data: "Email Subject!!!"
}
},
Source: "x.y@z.com"
};
var email = ses.sendEmail(eParams, function(err, data){
if(err) console.log(err);
else {
console.log("===EMAIL SENT===");
console.log(data);
}
});
我在 Firebase Functions 中查看日志时遇到的错误是:
dialogflowFirebaseFulfillment
{ UnknownEndpoint:无法访问的主机:email.us-standard.amazonaws.com'. This service may not be available in the
eu-west-1` 区域。
在 Request.ENOTFOUND_ERROR (/user_code/node_modules/aws-sdk/lib/event_listeners.js:456:46)
我正在使用 Firebase 的免费层级,这重要吗?
Cloud Functions for Firebase 的免费 ("Spark") 层不允许 Google 以外的网络连接。
您可以升级到 "Blaze" 计划,但是它允许网络连接。即使是付费级别,仍然有一个 "free tier" 允许合理的开发和使用级别,不会产生任何费用。
来自 https://firebase.google.com/pricing/(将鼠标悬停在 Cloud Functions 旁边的问号上):
On the Blaze plan, Cloud Functions provides a perpetual free tier. The first 2,000,000 invocations, 400,000 GB-sec, 200,000 CPU-sec, and 5 GB of Internet egress traffic is provided for free each month. You are only charged on usage past this free allotment.