Поддержка webhook Postmark для Handle_mail

Пользователь Discourse впервые, впечатлён тем, насколько хорошо сделано приложение и при этом насколько оно поддаётся модификации! Чтобы избежать необходимости запускать собственный почтовый сервер, я хочу настроить интеграцию Postmark с Discourse. У них есть вебхук для входящей почты, который отправляет JSON-нагрузку с разобранным письмом. Например, поле From разбивается на несколько атрибутов, то же самое для поля CC и так далее.

По желанию можно указать Postmark включать необработанное письмо в атрибут RawEmail. К сожалению, имя этого атрибута нельзя изменить на email, которое ожидает конечная точка handle_mail в Discourse.

Придумал два варианта:

  1. добавить однострочное решение в handle_mail, чтобы переименовать атрибут RawEmail в email, если он присутствует;
  2. создать новую конечную точку, которая будет добавлять уже разобранное письмо в очередь задач, а затем добавить новый метод в получатель для обработки объектов уже разобранной почты.

Есть ли предпочтения по поводу PR или дальнейшего пути?

@codinghorror Планируется ли замена существующих обработчиков на ActionMailbox из Rails 6 в Discourse? В нём уже есть встроенные ingress для различных сервисов, включая Postmark.

Нет, в настоящее время планов по внедрению Action Mailbox нет, но я готов рассмотреть pull-запрос с его внедрением, если вы хотите создать proof-of-concept.