从 Mailgun 提取入站电子邮件。需要以下参数
-
body-mime
: 完整的 RFC 822 消息 -
timestamp
: Mailgun 中的当前时间,以自 UNIX 纪元以来经过的秒数表示 -
token
: 随机生成的 50 个字符的字符串 -
signature
: 使用 Mailgun 签名密钥生成的时间戳与令牌连接的十六进制 HMAC-SHA256
通过验证请求的签名来对请求进行身份验证。
返回
-
如果成功记录入站电子邮件并将其排队以路由到相应的邮箱,则返回
204 无内容
-
如果无法验证请求的签名,或者其时间戳超过 2 分钟,则返回
401 未授权
-
如果未将 Action Mailbox 配置为接受来自 Mailgun 的入站电子邮件,则返回
404 未找到
-
如果请求缺少必需的参数,则返回
422 不可处理的实体
-
如果缺少 Mailgun 签名密钥,或者 Active Record 数据库、Active Storage 服务或 Active Job 后端配置错误或不可用,则返回
500 服务器错误
用法
-
将 Mailgun 签名密钥(可以在 Mailgun 的“设置”->“安全和用户”->“API 安全”中找到)提供给 Action Mailbox,以便它可以对 Mailgun 入口的请求进行身份验证。
使用
bin/rails credentials:edit
将签名密钥添加到应用程序的加密凭据中,位于action_mailbox.mailgun_signing_key
下,Action Mailbox 将自动在此处找到它action_mailbox: mailgun_signing_key: ...
或者,在
MAILGUN_INGRESS_SIGNING_KEY
环境变量中提供你的签名密钥。 -
告诉 Action Mailbox 接受来自 Mailgun 的电子邮件
# config/environments/production.rb config.action_mailbox.ingress = :mailgun
-
配置 Mailgun 将入站电子邮件转发到
/rails/action_mailbox/mailgun/inbound_emails/mime
。如果你的应用程序位于
https://example.com
,你将指定完全限定的 URLhttps://example.com/rails/action_mailbox/mailgun/inbound_emails/mime
。
- C
实例公共方法
create() 链接
来源:显示 | 在 GitHub 上
# File actionmailbox/app/controllers/action_mailbox/ingresses/mailgun/inbound_emails_controller.rb, line 49 def create ActionMailbox::InboundEmail.create_and_extract_message_id! mail end