【问题标题】:Sending SES email from AWS Lambda - Node JS Error "Cannot find module 'nodemailer"从 AWS Lambda 发送 SES 电子邮件 - 节点 JS 错误“找不到模块 'nodemailer”
【发布时间】:2018-09-28 17:20:17
【问题描述】:

我有这个错误消息:“errorMessage”:“找不到模块'nodemailer'”

我用谷歌搜索,它说安装 nodemailer。有人能告诉我我在哪里安装这个模块吗?我是 Lambda 新手。

我的 Lambda 函数如下:

    var aws = require("aws-sdk");
var nodemailer = require("nodemailer");

var ses = new aws.SES();
var s3 = new aws.S3();

exports.handler = (event, context, callback) => {
callback(null, 'Hello from Lambda');
};

【问题讨论】:

  • 你应该在本地安装模块nodemailer,然后复制所有文件并输入到lambda
  • 我使用的是 Windows 台式机。我应该在我的 Windows 桌面上安装 nodemailer,然后将所有文件和输入复制到 Lambda 吗?如何将文件复制到 Lambda?我以为 Lambda 只用于编写代码,没有存储。你能给我举个例子吗?或一步一步的指导来做到这一点?谢谢。
  • 您需要使用适当的依赖项打包您的代码,并使用 ZIP 将其部署在 lambda 上。更多详情请点击此处:docs.aws.amazon.com/lambda/latest/dg/…

标签: node.js amazon-web-services aws-lambda


【解决方案1】:
  1. 你必须在本地初始化你的项目npm init
  2. 安装 nodemailer - npm i nodemailer
  3. 您应该压缩您的项目目录,通过在功能代码窗口中选择Upload a .ZIP file将其上传到lambda。
  4. 现在您可以选择进行测试。
  5. 只需将所有代码放在index.js 中进行初始测试,稍后您可以移动它。

【讨论】:

  • 感谢兄弟提供的详细步骤,它真的对我有用 :) 很高兴设置我的第一个 Lambda 函数。当 SQS 消息到达时,我正在尝试发送测试电子邮件。希望我能做到
  • 我换成了 Ubuntu 本地服务器,并完成了上述所有步骤 1-4。第 5 步在 AWS Web 控制台上完成
猜你喜欢
  • 2016-11-17
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
  • 2020-11-25
  • 1970-01-01
  • 2018-05-29
相关资源
最近更新 更多