如何将 Dialogflow ansers 发送到电子邮件

时间:2021-02-09 09:07:57

标签: dialogflow-es webhooks dialogflow-es-fulfillment

我想将我从与 Dialogflow 聊天机器人的聊天中获得的用户回复发送到特定电子邮件。这是因为我希望聊天机器人处理用户订单、捕获订单并将其发送给销售人员。

我对 Dialogflow 还很陌生,所以我对 webhooks 和履行不是那么精通。请帮忙:)

1 个答案:

答案 0 :(得分:0)

这里有两件事。

  1. 设置您的对话流网络钩子,以便您可以在网络钩子中获得所有响应和请求。

一个网络钩子不过是一个服务器。您可以查看 this 文章并进行设置。

  1. 一旦您的网络挂钩准备就绪,您就会收到响应和请求。您可以使用 nodemailer 模块发送电子邮件。

mail.js

const nodemailer = require('nodemailer');
// create the configuration
const mailConfig = nodemailer.createTransport({
    host: "smtpout.secureserver.net",  
    secure: true,
    secureConnection: false, // TLS requires secureConnection to be false
    tls: {
        ciphers:'SSLv3'
    },
    requireTLS:true,
    port: 465,
    debug: true,
    auth: { 
        user: emailUser, 
        pass: process.env.ADMIN_PASSWORD
    } 
}); 
//export the function to send the mail
exports.sendMail= async (myParam ) => {
const emailUser = process.env.ADMIN_EMAIL;


// TODO implement
let mailDetails = { 
    from: emailUser, 
    to: myParam.to, 
    cc: myParam.cc, 
    subject: myParam.subject,
    html: myParam.message,
};
const data = await mailConfig.sendMail(mailDetails);

return data;
};

您可以简单地使用参数导入 sendMail 函数,也可以更改其行为,如 aysnc 或 synch。

你需要从你的网络钩子调用这个函数。