AWS SES
與Lex
一起使用測試Chatbot,但在發佈了與Slack應用程序的chatbot後,它不起作用(不會觸發電子郵件服務)。但是,Lambda
函數似乎沒有任何問題,因爲我正在將響應文本恢復爲鬆弛狀態。而且我不認爲有一種方法可以檢查錯誤,爲什麼鬆懈會造成問題。當Lex Chatbot發佈到Slack時,AWS Lambda:SES不工作
Lambda
功能:
var aws = require('aws-sdk');
var ses = new aws.SES({
region: 'us-east-1'
});
exports.handler = function(event, context, callback) {
var eParams = {
Destination: {
ToAddresses: [event.currentIntent.slots.Email]
},
Message: {
Body: {
Text: {
Data: "Hi, How are you?"
}
},
Subject: {
Data: "Title"
}
},
Source: "[email protected]"
};
var email = ses.sendEmail(eParams, function(err, data) {
if (err)
else {
context.succeed(event);
}
});
callback(null, {
"dialogAction": {
"type": "ConfirmIntent",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "message to convey to the user, i.e. Are you sure you want a large pizza?"
}
}
});
};
編輯1:我想這個問題是我沒有得到在[event.currentIntent.slots.Email]
值當我公佈我的Slack
BOT Lex
。
我覺得有一種方法,檢查錯誤,當你調用'ses.sendEmail(...)',你應該在你的回調中記錄錯誤,例如'if(err){logError(err); } ...,這可能很好地解釋了爲什麼電子郵件沒有發送。 – ARJMP
@ARJMP我想這個問題是,我沒有得到'[event.currentIntent.slots.Email]'中的值,當我在Slack上發佈我的Lex bot –