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