SuperAPI AI 工具集

action-mailbox

通用与其它

查看项目

更新于 10-15 23:57

技能介绍

用途:在 Rails 应用中用 Action Mailbox 接收并处理入站邮件,把邮件路由到类似控制器的 mailbox 类中处理。

主要能力:安装 Action Mailbox 与迁移(bin/rails action_mailbox:install、bin/rails db:migrate);在 ApplicationMailbox 中按收件人地址模式(字符串或正则,匹配 to/cc/bcc,先匹配先赢)路由;用 bin/rails generate mailbox 生成 mailbox 类;在 process 中通过 mail 对象读取 to、from、cc、subject、decoded、date、message_id、in_reply_to、attachments、multipart?、text_part/html_part 等,并用 Active Storage 保存附件;用 before_processing、after_processing、around_processing 回调做校验与副作用;用 bounce_with 显式退信并终止处理;配置 Mailgun、SendGrid、Postmark、Mandrill、relay 等 ingress;用 ActionMailbox::TestCase 的 receive_inbound_email_from_mail、receive_inbound_email_from_source 及 .eml fixture 测试;开发环境用 conductor 查看、创建、重投邮件;配置 incinerate_after 控制原始邮件清理。

使用方式:先安装并迁移,再配置路由与 ingress(凭据或环境变量),生成并实现 mailbox 类,最后编写测试。

适用场景:支持工单、回复解析、发票等按地址分流的入站邮件处理。

限制与注意:未匹配邮件保持 pending 并被清理;bounce_with 会停止处理,应在 before_processing 中使用;原始邮件默认 30 天后焚毁,需在 process 中尽早持久化数据;避免巨型 process、无退信处理、忽略 multipart、硬编码密码、在回调中写业务逻辑;Action Mailbox 依赖 Active Job 与 Active Storage。