通过电子邮件回答解锁nodejs程序

时间:2018-02-12 09:40:19

标签: node.js actions-on-google google-home

我正在使用Google主页上的对话框流程,我有一个发送电子邮件的程序(通过Nodemailer),我想锁定一个功能,并根据电子邮件的回答解锁它

也许我可以在电子邮件中添加一个链接"如果您同意这一点,请点击此链接,否则不要"。

我能用我的程序得到答案吗?如果是,怎么样?

以下是我用来发送电子邮件的功能:

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '**********',
    pass: '**********'
  }
});

var mailOptions = {
  from: '*********@gmail.com',
  to: '********.********@gmail.com',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }

感谢。

2 个答案:

答案 0 :(得分:1)

在设计时你需要考虑很多事情 - 实际上不要编码。

  • 不知何故,您需要首先获取用户的地址。 Google Home(以及Google平台上的操作系统)没有办法向您提供此信息,并向用户询问他们的信息是一个糟糕的用户体验。

  • 获取地址的一种方式是通过帐户关联,通过帐户关联,您可以将其智能助理帐户关联到系统中的帐户。这不会直接为您提供地址,但由于他们必须先通过您的网站登录,您可以使用Google登录(从而获取他们的个人资料信息)或在帐户流程中要求他们提供。

  • 获得地址后 - 您需要验证它。网上有很多关于如何正确进行双重选择的建议。确保你遵循它们。有一些节点模块可以帮助你做到这一点 - 你不需要自己编写。

  • 安全地编码是可以轻易采取的措施。做错了让你成为垃圾邮件中继。这样做不太正确可能只是让您被电子邮件提供商视为垃圾邮件。

答案 1 :(得分:0)

您所要做的就是定义系统,以便从该电子邮箱中发送电子邮件。例如,您可以添加Gmail帐户和密码。只需在Server.js行的var app=express()下方添加此代码。

var smtpTransport = nodemailer.createTransport({
    service: "gmail",
    host: "smtp.gmail.com",
    auth: {
        user: "",
        pass: ""
    }
});