使用Amazon SES服务从node.js发送电子邮件不起作用

时间:2017-12-30 11:45:32

标签: node.js firebase amazon-ses dialogflow api-ai

我正在使用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函数中的日志时遇到的错误是: dialogflowFirebaseFulfillment  {UnknownEndpoint:Inaccessible host:email.us-standard.amazonaws.com'. This service may not be available in the eu-west-1` region。     在Request.ENOTFOUND_ERROR(/user_code/node_modules/aws-sdk/lib/event_listeners.js:456:46)

使用免费的Firebase层,这有什么关系吗?

1 个答案:

答案 0 :(得分:1)

Firebase的免费(" Spark")层功能层不允许在Google之外进行网络连接。

您可以升级到" Blaze"但是,计划允许网络连接。即使有付费等级,仍然有一个免费等级"这允许合理的开发和使用水平,不会产生任何费用。

https://firebase.google.com/pricing/(将鼠标悬停在云端功能旁边的问号上):

  

在Blaze计划中,云功能提供永久免费套餐。每月免费提供前2,000,000次调用,400,000 GB-sec,200,000 CPU-sec和5 GB Internet出口流量。您只需支付超过此免费分配的使用费用。