Action 邮箱 是 Rails 6 中的第二个全新框架(第一个是 Action 文本)。它用于将 传入电子邮件路由 到类似于控制器的邮箱,以供在 Rails 中处理。它随同 Amazon SES、Mailgun、Mandrill 和 SendGrid 的入口一起发布。您还可以通过 postfix 入口 直接处理传入邮件。
传入电子邮件将通过 Active 记录变成 InboundEmail 记录,并具有生命周期跟踪、通过 Active 存储在云存储中的原始电子邮件存储功能,以及使用 默认启用焚烧 的负责数据处理功能。这些传入电子邮件将使用 Active 作业作为其实体异步路由到一个或多个专用邮箱,然后这些专用邮箱会直接与域模型的其余部分交互。
该框架与 Action 文本和 Active 存储一样,是 Basecamp 3 中抽取的。我们使用相关方法路由转发电子邮件到电子邮件回复,最后再到消息和讨论的所有内容。将这些想法抽取到 Action 邮箱后,我们重新将该框架集成回 Basecamp,并在生产环境中运行了为期一个多月,我们今天分享的代码。
是的,Rails 早已使用 Action 邮件 提供了一种贫血的方式 接收电子邮件,但功能性不强,缺少发送电子邮件的功能的凝聚力,也没有提供与流行的传入电子邮件处理平台集成的任何帮助。Action 邮箱取代了 Action 邮件的接收部分功能,而 Action 邮件的功能将在适当的时候被弃用。
Rails 6 越来越近,但仍有一段距离,我们希望在 2019 年年初开始测试版流程。不过,Action 邮箱已经相当完善,甚至可以将它与 Rails 5.2 应用程序一起使用,如果您喜欢在野性的一边跳舞的话。在社区完成审查并将其合并到 rails/rails 之前准备好面对变化。
Action 邮箱框架基于 Jeremy Daer 的想法,而这个特别的实现是身为您的那个和 George Claghorn 的协作完成的。
作为 Action Mailbox 引入的一部分,我计划在不久的将来录制一段视频,展示基础知识。但该代码已准备就绪,并且已经得到一定程度的记录,以便任何人可以立即投入使用。所以,为什么坐等好事发生呢!
在 Action Text 和 Action Mailbox 之间,Rails 6 已成形为该框架历史上最大的版本之一。我们尚未完成!我们的计划是初步准备一个发行候选版本,供明尼阿波利斯的2019 RailsConf使用。请通过试用 Action Mailbox 帮助我们实现这一承诺!