Configurer VERP pour gérer les e-mails en retour

Configuration de la gestion des rebonds

Discourse utilise la technique de Variable envelope return path (VERP) pour gérer les e-mails qui rebondissent.

Pour activer VERP, définissez le paramètre de site « reply by email address » avec un modèle d’adresse e-mail qui utilise le signe +. La valeur par défaut
replies+%{reply_key}@discourse.example.com
… fonctionne bien. Si vous utilisez votre propre serveur de messagerie ou celui de votre entreprise, c’est tout :tada:

Votre instance Discourse doit être capable de recevoir les e-mails envoyés à cette adresse. Cela devrait fonctionner via POP, mais nous recommandons fortement la livraison entrante directe pour les sites auto-hébergés

Cependant, si vous utilisez un service de messagerie tiers, vous devrez activer VERP ou activer leurs webhooks comme suit :

MailGun

  1. Connectez-vous à MailGun et accédez à votre tableau de bord ; recherchez la page SendingWebhooks dans la colonne de gauche.
  2. Sélectionnez l’onglet Configuration et copiez la HTTP signing key (clé de signature HTTP)
  3. Dans votre site Discourse, définissez le paramètre de site Mailgun API key avec votre HTTP signing key
  4. De retour dans Mailgun, cliquez sur le bouton Add webhook (en sélectionnant Domain-level) et définissez l’HTTP post URL sur https://your.discourse/webhooks/mailgun. Testez ceci.
  5. Sélectionnez à la fois Permanent Failure et Temporary failure, vérifiez le domaine, puis cliquez sur Create Webhook.

SendGrid

  • Connectez-vous à SendGrid et accédez à Mail Settings
  • développez le paramètre Event Webhook et activez-le s’il n’est pas déjà activé
  • cliquez sur edit pour définir l’HTTP POST URL sur http://your.discourse/webhooks/sendgrid
  • assurez-vous d’avoir sélectionné les 3 actions suivantes : Dropped, Deferred et Bounced
  • enregistrez vos modifications en cliquant sur la :white_check_mark:

MailJet

  • Connectez-vous à MailJet et accédez à event tracking
  • cochez l’événement bounce
  • définissez l’endpoint URL sur http://your.discourse/webhooks/mailjet
  • cochez la :white_medium_square: dans la colonne group events
  • cliquez sur le bouton save

SparkPost

  • Connectez-vous à SparkPost et accédez à votre tableau de bord.
  • Sélectionnez Account dans les icônes du menu de gauche
  • Sélectionnez Webhooks dans le menu ( SparkPost )
  • Sélectionnez New Webhook.
  • Entrez une valeur conviviale pour Webhook Name (Nom du webhook), par exemple Discourse Forum
  • Entrez une Target URL (URL cible) telle que http://your.discourse/webhooks/sparkpost
  • Sélectionnez Add Webhook.

Amazon Simple Email Service (AWS SES)

  • Sur Discourse :
    • définissez reply by email enabled et reply by email address comme indiqué en haut de l’OP
    • définissez manual polling enabled
  • Sur AWS :
    • créez un Topic SNS
    • créez une Subscription SNS pour le Topic créé en HTTPS pointant vers https://your.discourse/webhooks/aws
    • allez dans SES > Verified Identities (Identités vérifiées), sélectionnez le domaine de votre site, et allez dans l’onglet Notifications. Modifiez vos Notifications de feedback. Définissez le feedback de rebond (Bounce feedback) et le feedback de plainte (Complaint feedback) sur le Topic SNS que vous venez de créer

Postmark

  • Connectez-vous à Postmark puis sélectionnez le serveur utilisé pour envoyer les e-mails Discourse
  • Sélectionnez le flux de messages associé aux e-mails Discourse, généralement Default Transactional Stream
  • Cliquez sur Webhooks
  • Cliquez sur Add webhook
  • Entrez l’Webhook URL comme http://your.discourse/webhooks/postmark
  • Sous, Which events should we send? (Quels événements devons-nous envoyer ?), cochez Delivery et Spam complaint
  • Faites défiler vers le bas et cliquez sur Save webhook

Test des rebonds

Pour vous assurer que tout fonctionne, faites ceci :

  1. Inscrivez-vous pour un nouveau compte sur votre site avec un e-mail manifestement incorrect, de la forme bademail@obviously-invalid-domain.com ou clearly.nobody.has.this.email.address@gmail.com
  2. Attendez un moment que les e-mails rebondissent complètement (consultez les journaux de votre fournisseur si vous le souhaitez – ils seront généralement affichés sous le niveau de journalisation « warn » ou « error »)
  3. Vérifiez /admin/email/bounced sur votre site pour confirmer que le rebond a été capturé. Gardez à l’esprit que cela peut prendre jusqu’à 48 heures en fonction du nombre de nouvelles tentatives et de la logique particulière de votre fournisseur de messagerie.

Configuration des rebonds

La gestion des rebonds peut être personnalisée à l’aide des paramètres de site suivants

  • soft bounce score (score de rebond temporaire) : points ajoutés au « score de rebond » de l’utilisateur lorsque nous recevons un rebond temporaire de son adresse e-mail
  • hard bounce score (score de rebond permanent) : points ajoutés au « score de rebond » de l’utilisateur lorsque nous recevons un rebond permanent (ou inconnu) de son adresse e-mail
  • reset bounce score after days (réinitialiser le score de rebond après des jours) : nombre de jours sans aucun rebond avant que nous puissions réinitialiser le « score de rebond » de l’utilisateur à 0
  • bounce score threshold (seuil de score de rebond) : seuil de score auquel nous cesserons d’envoyer des e-mails non urgents à l’utilisateur

Dernière révision par @SaraDev le 2022-07-19T20:00:00Z

51 « J'aime »
Does Discourse use Mailgun's validations feature?
VERP bounce replies ignored when using Mailgun
Postmark bounce support?
Email-in replies thread wrongly
Amazon SES/SNS email complaints not received, bounces missing information
What mail service do you recommend?
Confused about VERP, email bounces & additional setup on Discourse
Reply-by-Email was working, now broken
Mailgun "temporarily disabled due to high bounce rate"
How to deactive account of those users who're not receiving emails
Surface data about users with too many bounces
"Discourse::NotFound" error when click "Email Type" field on admin/email/bounced
Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver
"Discourse::NotFound" error when click "Email Type" field on admin/email/bounced
Bounced Email Info Not Found
Fix AWS SNS Bounce
How to block outgoing emails to at anon.forumurl?
Mailgun api key check backward (no API key should be required if bounces handled by mail receiver)
Switching from SMTP to oAuth
Is handling bouncing emails optional, or is it something I definitely need to set up?
Moving from Mailgun to Amazon SES as an amateur
"Discourse::NotFound" error when click "Email Type" field on admin/email/bounced
Mailgun api key, what is it for?
Question about the mail-receiver
Goodbye Sparkpost
Migrated forum with many invalid (bouncing) emails
Amazon SES API - How to setup?
Zero entries in bounced email list
Email suppression list handling
Email suppression list handling
How hard is it to handle Discourse after installation
Set up mail-receiver, but now site won't send any emails?
Installation by the book
Too many user emails domains not working lead to mailgun domain disabled: what to do?
Mailgun huge dropped subscriber
Flush bouncing user mail address
Configuring AWS SES for outgoing, bounce, and incoming email
Notes on Silencing or Deleting users
Retrying bounced emails?
Discourse Mailgun Routes
"Discourse::NotFound" error when click "Email Type" field on admin/email/bounced