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

问题描述 投票:1回答:1

这是我的第一篇文章,如果我的问题没有意义,那么道歉。我是node.js和Alexa技术事实的新手。我正在研究Alexa技能事实,它具有向票务系统发送电子邮件的能力。我想通过NodeJS Nodemailer这样做。我相信我必须在开发人员控制台上安装nodemailer才能使用。我不知道如何在Alexa开发者控制台上下载和使用Nodemailer。我正在使用Alexa Hosted(Beta)服务并在Alexa模拟器上进行测试,如果这改变了什么。

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

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

var nodemailer = require('nodemailer');

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

    var mailOptions = {
      from: '[email protected]',
      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中?
node.js json alexa package.json alexa-skill
1个回答
0
投票

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

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

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

您必须熟悉以下几点:Amazon lambda和基本节点编程。

© www.soinside.com 2019 - 2024. All rights reserved.