接收来自 Mailgun 的入站电子邮件。需要以下参数
- 
body-mime:完整的 RFC 822 消息
- 
timestamp:Mailgun 报告的当前时间,表示自 UNIX 纪元以来的秒数
- 
token:一个随机生成的 50 个字符的字符串
- 
signature:使用 Mailgun 签名密钥生成的,由时间戳和令牌连接而成的十六进制 HMAC-SHA256 值
通过验证请求签名来对请求进行身份验证。
返回值
- 
204 No Content:如果入站电子邮件已成功记录并排队以路由到相应的邮箱
- 
401 Unauthorized:如果请求的签名无法验证,或者其时间戳已超过 2 分钟
- 
404 Not Found:如果 Action Mailbox 未配置为接受来自 Mailgun 的入站电子邮件
- 
422 Unprocessable Entity:如果请求缺少必需的参数
- 
500 Server Error:如果缺少 Mailgun 签名密钥,或者 ActiveRecord 数据库、Active Storage 服务或 Active Job 后端配置不当或不可用
用法¶ ↑
- 
向 Action Mailbox 提供您的 Mailgun 签名密钥(您可以在 Mailgun 的“设置”->“安全与用户”->“API 安全”下找到它),以便它可以对 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