Prise en charge de Handle_mail pour le webhook Postmark

Premier utilisateur de Discourse, je suis impressionné par la qualité de l’application tout en constatant à quel point elle est facile à personnaliser ! Afin d’éviter d’avoir à faire tourner un serveur de messagerie, je souhaite intégrer Postmark avec Discourse. Ils proposent un webhook pour les courriels entrants, qui envoie une charge utile JSON contenant le courriel analysé. Par exemple, il décompose le champ From en plusieurs attributs, de même pour le champ CC, etc.

En option, vous pouvez demander à Postmark d’inclure le courriel brut dans un attribut RawEmail. Malheureusement, le nom de cet attribut ne peut pas être modifié en email, ce que l’endpoint handle_mail de Discourse attend.

Je vois deux options :

  1. Ajouter une petite modification d’une ligne à handle_mail pour renommer l’attribut RawEmail en email s’il est présent.
  2. Créer un nouvel endpoint qui ajoutera le courriel déjà analysé à la file d’attente des tâches, puis ajouter une nouvelle méthode au récepteur pour gérer les objets courriel déjà analysés.

Avez-vous une préférence pour une PR ou une approche à suivre ?

@codinghorror, avez-vous prévu de remplacer les gestionnaires existants par ActionMailbox de Rails 6 dans Discourse ? Il inclut des points d’entrée pour différents services, notamment Postmark.

Non, il n’y a pas actuellement de plans pour intégrer Action Mailbox, mais je serais ouvert à examiner une PR qui l’intègre si vous souhaitez réaliser un proof-of-concept.