从 Postmark 导入传入的电子邮件。需要一个包含完整 RFC 822 消息的 RawEmail
参数。
使用 HTTP 基本访问身份验证验证请求。用户名始终为 actionmailbox
,密码从应用程序的加密凭据或环境变量中读取。请参阅下面的“用法”部分。
请注意,基本身份验证在未加密的 HTTP 上是不安全的。拦截对 Postmark 导入的明文请求的攻击者可以了解其密码。您只应在 HTTPS 上使用 Postmark 导入。
返回
-
204 无内容
如果成功记录传入的电子邮件并将其排队以路由到相应的邮箱 -
401 未授权
如果无法验证请求的签名 -
404 未找到
如果 Action Mailbox 未配置为接受来自 Postmark 的传入电子邮件 -
422 不可处理的实体
如果请求缺少必需的RawEmail
参数 -
500 服务器错误
如果未配置导入密码,或者 Active Record 数据库、Active Storage 服务或 Active Job 后端之一配置错误或不可用
用法
-
告诉 Action Mailbox 接受来自 Postmark 的电子邮件
# config/environments/production.rb config.action_mailbox.ingress = :postmark
-
生成 Action Mailbox 可用于对 Postmark 导入进行身份验证的强密码。
使用
bin/rails credentials:edit
将密码添加到应用程序的加密凭据中,位于action_mailbox.ingress_password
下,Action Mailbox 将自动找到它action_mailbox: ingress_password: ...
或者,在
RAILS_INBOUND_EMAIL_PASSWORD
环境变量中提供密码。 -
配置 Postmark 将传入的电子邮件转发到
/rails/action_mailbox/postmark/inbound_emails
,用户名为actionmailbox
,密码为之前生成的密码。如果您的应用程序位于https://example.com
,您将使用以下完全限定的 URL 配置您的 Postmark 入站 Webhookhttps://actionmailbox:[email protected]/rails/action_mailbox/postmark/inbound_emails
注意:在配置您的 Postmark 入站 Webhook 时,请务必选中标记为 *“在 JSON 负载中包含原始电子邮件内容”* 的框。Action Mailbox 需要原始电子邮件内容才能工作。
- C
实例公共方法
create() 链接
源代码: 显示 | 在 GitHub 上
# File actionmailbox/app/controllers/action_mailbox/ingresses/postmark/inbound_emails_controller.rb, line 51 def create ActionMailbox::InboundEmail.create_and_extract_message_id! mail rescue ActionController::ParameterMissing => error logger.error <<~MESSAGE #{error.message} When configuring your Postmark inbound webhook, be sure to check the box labeled "Include raw email content in JSON payload". MESSAGE head :unprocessable_entity end