通过 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 文件中,因为名称和版本等都是无法复制的唯一键。
我主要的三个问题是:
- 我可以在 Alexa 中使用 Nodemailer 吗?
- 如何将 Nodemailer 下载到 Alexa 开发者控制台?
- 我需要将 Nodemailer package.json 插入我现有的 package.json 吗?
在 "Code" 菜单中,在 Alexa 开发人员控制台(托管技能)中,将 "nodemailer" 添加到依赖项(在 package.json 中)。
"dependencies": {
"nodemailer": "^6.1.0"
}
然后将您的代码添加到 index.js,让我们看看会发生什么。
你必须熟悉一些东西:Amazon lambda 和基本节点编程。
这是我的第一个 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 文件中,因为名称和版本等都是无法复制的唯一键。
我主要的三个问题是:
- 我可以在 Alexa 中使用 Nodemailer 吗?
- 如何将 Nodemailer 下载到 Alexa 开发者控制台?
- 我需要将 Nodemailer package.json 插入我现有的 package.json 吗?
在 "Code" 菜单中,在 Alexa 开发人员控制台(托管技能)中,将 "nodemailer" 添加到依赖项(在 package.json 中)。
"dependencies": {
"nodemailer": "^6.1.0"
}
然后将您的代码添加到 index.js,让我们看看会发生什么。
你必须熟悉一些东西:Amazon lambda 和基本节点编程。