尝试使用 Alexa 和 AWS SES 发送电子邮件.电子邮件将发送,但Alexa将返回和错误



我正在编写一个Alexa技能,其中一个功能是请求使用AWS SES向用户发送电子邮件。

当说话语发送电子邮件时,电子邮件将发送,但Alexa将始终回复"请求技能的响应有问题"。

我已经测试以确保"getEmail"意图本身有效并且确实有效。 我也尝试在意图中移动函数,但这有相同的结果。

这是使用SES发送电子邮件的功能,它似乎正在工作:

函数发送电子邮件(事件、上下文、回调({

var params = {
Destination: {
ToAddresses: ["xyz@gmail.com"]
},
Message: {
Body: {
Text: { Data: "Hi. Here is your email"
}
},
Subject: { Data: "Here is an email"
}
},
Source: "abc@gmail.com"
};

ses.sendEmail(params, function (err, data) {
callback(null, {err: err, data: data});
if (err) {
console.log(err);
context.fail(err);

} else {
console.log(data);
context.succeed(event);
}
});

}

这是调用 sendEmail(( 函数的意图。

'getEmail': function () {
sendEmail();
var bodyTemplate1 = new Alexa.templateBuilders.BodyTemplate1Builder();
var template1 = bodyTemplate1.setTitle("email").setTextContent(makeRichText("email")).setBackgroundImage(makeImage(image)).build();
this.response.speak("Your email has been sent").renderTemplate(template1).shouldEndSession(true);
this.emit(':responseReady');
},

当我运行它时,我希望电子邮件发送到设备,而 Alexa 只说"您的电子邮件已发送"。目前,只是发送电子邮件,设备说"请求的技能响应有问题">

以下是来自 AWS 云的错误消息

查看日志,您的callback(null, {err: err, data: data});是这里的问题。从您发布的代码来看,callback不存在(将undefined(。看起来你不需要它,所以你可以删除它。

AWS 开发工具包 -SES.sendEmail

"回调"只是作为第二个参数传递的函数。

相关内容

  • 没有找到相关文章

最新更新