【问题标题】:Triggering tasks from email in a node server从节点服务器中的电子邮件触发任务
【发布时间】:2021-08-03 12:08:14
【问题描述】:

在完成各种研究后,我找不到实现这一目标的最佳方法:

  • 我有一个 Node Express 服务器,为各种用户提供服务
  • 我希望任何用户都能够向 user-id@mydomain.com 发送电子邮件
  • 收到后,我想触发服务器中的特定任务,以处理电子邮件正文。

选项 1

我最初希望找到某种 SMTP 节点包,我可以简单地嵌入到服务器中,并使用要接受的各种电子邮件地址对其进行配置,并使用回调函数在电子邮件到达时触发任务。这存在吗?

选项 2

另一种选择是安装 SMTP 服务器(理想情况下在 Docker 容器中,并且无论如何在 Linux 上)来处理每个用户邮箱的存储。然后,我的节点服务器将通过 POP3 或 IMAP 定期检查每个用户邮箱,并在找到电子邮件时触发该任务。但这对我来说似乎有点矫枉过正:

  • 完成任务后我不需要存储电子邮件
  • 与第一个选项中的回调相比,这种方法的响应速度较慢,并且需要定期检查所有用户,而在实践中,此类电子邮件会非常零星地到达。

在这种方法中,您会推荐什么作为 dockerized SMTP 服务器以及作为 POP3/IMAP 节点包来检索和处理电子邮件?

选项 3?

还有其他方法吗?

欢迎推荐!! 非常感谢!

【问题讨论】:

  • 选项 2 在接收时运行脚本将是理想的。当您有一个可以 push 邮件的 SMTP 时,使用 IMAP/POP pull 邮件会更好。所有主要的 SMTP unix 服务器都可以设置为在收到电子邮件时运行某种代码,您可以使用它来将其推送到您想要的位置。
  • 谢谢麦克斯!我确实花了几个小时尝试配置 mailu/postfix docker 映像,但遇到了各种问题。在网上进一步搜索,我发现 smtp-server Node 包似乎可以完成这项工作。

标签: express email smtp imap pop3


【解决方案1】:

看起来 Node smtp-server 包可以完成这项工作。结合mailparser,我可以检索一个完全解析了电子邮件结构的Javascript对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-24
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多