问题标签 [node-imap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
231 浏览

javascript - 如何在 AWS Lambda 函数中连接 node-imap 模块

我有这个电子邮件服务器,我必须为我工作的公司的两个 Web 应用程序创建一个微服务,架构有点像这样:

  • Node 应用程序每 x 分钟通过客户电子邮件列表运行一次扫描,并检查是否有任何新电子邮件(这些客户的电子邮件可以有许多不同的域);
  • 如果该特定客户端有新电子邮件,它将调用 lambda 函数以连接到该特定电子邮件(使用 node-imap 模块,使用 imap 协议)并对未读电子邮件执行一些操作;
  • 我在我的本地主机上完成了所有工作,我可以在本地搜索所有电子邮件,并通过在我的机器上模拟 AWS Lambda 的执行来执行我需要的所有操作;
  • 问题是在实际处于“生产”状态时调用 Lambda(实际上是 AWS Lambda 中的 lambda 函数),即使一切正常(新 Imap 的参数都可以),它似乎也没有连接到电子邮件地址;
  • 我正在调用exports.handler(我使用一些console.logs检查)并且参数都很好(我已经硬编码它们只是为了确定);

这让我想到,也许 AWS Lambda 函数无法像我的机器一样连接到电子邮件提供商,也许我需要在 AWS 控制台上进行一些额外的调整;

有人对发生的事情有任何想法吗?我尝试通过谷歌搜索,但找不到任何相关内容。

我在我的 lambda 中使用 Node 和 node-imap 包连接到 imap 服务器并搜索未读消息。我的 lambda 代码:

提前感谢所有读到这里的人。

:)

0 投票
1 回答
197 浏览

javascript - node-imap 打开子邮箱

我正在尝试打开我的主邮箱的子邮箱,但它不起作用。我在调试模式下收到以下错误。

'A5 NO [NONEXISTENT] 未知邮箱:收件箱/[Gmail](失败)'

但是当我列出邮箱时,我可以看到 [Gmail] 框存在,所以我不明白出了什么问题。

这是创建错误的代码(我使用的是 imap-simple):

请问你能帮帮我吗?

0 投票
0 回答
72 浏览

node.js - 节点 IMAP - 如何存储 IMAP 连接?

最近我使用 IMAP 协议和 IMAP-simple (Node.js) 制作了一个 REST 格式的 API。每次调用 API 时,我都会为客户端打开与 IMAP 的连接,在收到我想要的信息(如电子邮件)后关闭该连接。

问题是我失去了很多优化,并且当我使用同一个客户端进行多次 API 调用时会产生错误。

所以我想知道是否有一种方法可以在客户端连接时存储连接对象(服务器端),这样我就不必每次都打开一个?有些人告诉我套接字和其他人有关服务器缓存的信息,但我想知道最合适的方法来做到这一点。

提前非常感谢!

0 投票
0 回答
27 浏览

node.js - 节点 imap,无法在“邮件”侦听器中获取

我的获取请求 ( ) 在侦听器内部时立即imap.seq.fetch触发事件。'end'imap.on('mail')

on('mail')如果我在侦听器之外获取最新邮件,则获取请求会触发on('message')预期的事件。

这是我正在使用的库:https ://www.npmjs.com/package/imap

这有效:

这不起作用:

这是一个错误还是我做错了什么?我阅读了文档,但找不到任何原因,这不是太有效。任何帮助都非常感谢!