通过 nodemailer 在 Alexa Skill Fact 中发送电子邮件

Sending emails in Alexa Skill Fact through nodemailer

这是我的第一个 post 如果我的问题没有意义,我深表歉意。我是 node.js 和 Alexa 技能事实的新手。我正在研究 Alexa skill Fact,它能够向票务系统发送电子邮件。我想通过 NodeJS Nodemailer 来做到这一点。我相信我必须在开发者控制台上安装 nodemailer 才能工作。我不知道如何在 Alexa 开发者控制台上下载和使用 Nodemailer。我正在使用 Alexa Hosted(测试版)服务并在 Alexa 模拟器上测试是否有任何变化。

我已经研究过 IFTTT,但这不是我想要的,因为发件人的电子邮件会随着使用此技能的人和不同的消息而改变,我认为 IFTTT 无法做到这一点。我已经研究过创建电子邮件并在 js 文件本身中发送电子邮件,这似乎是我最好的选择。

我想将这段代码添加到我的 index.js 文件中

var nodemailer = require('nodemailer');

function emailsender(){
    var transporter = nodemailer.createTransport({
      service: 'gmail',
      auth: {
        user: 'email@email.com',
        pass: 'password'
      }
    });

    var mailOptions = {
      from: 'email@email.com',
      to: 'email.email.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);
      }
    });
    return "success";
}

所以我相信我的 package.json 文件中也需要有 Nodemailer 包,代码取自 https://github.com/nodemailer/nodemailer/blob/master/package.json

{
    "name": "nodemailer",
    "version": "6.1.0",
    "description": "Easy as cake e-mail sending from your Node.js applications",
    "main": "lib/nodemailer.js",
    "scripts": {
        "test": "grunt"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/nodemailer/nodemailer.git"
    }, 
    ...
    ...
    ...

但我无法将其添加到我现有的 package.json 文件中,因为名称和版本等都是无法复制的唯一键。

我主要的三个问题是:

  1. 我可以在 Alexa 中使用 Nodemailer 吗?
  2. 如何将 Nodemailer 下载到 Alexa 开发者控制台?
  3. 我需要将 Nodemailer package.json 插入我现有的 package.json 吗?

在 "Code" 菜单中,在 Alexa 开发人员控制台(托管技能)中,将 "nodemailer" 添加到依赖项(在 package.json 中)。

"dependencies": {
  "nodemailer": "^6.1.0"
}

然后将您的代码添加到 index.js,让我们看看会发生什么。

你必须熟悉一些东西:Amazon lambda 和基本节点编程。