Recherche de conseils pour la configuration de la livraison du courrier pour Discourse Multisite

Salut à tous,

Après quelques semaines d’expérimentation, je suis ravi d’avoir réussi à déployer une configuration multisite dans un seul conteneur (après de nombreux échecs). Ce fut un accomplissement incroyable pour moi, car je travaille avec des ressources très limitées (environ 1,34 Go de mémoire pour deux sites, c’est génial, bien mieux que d’exécuter deux conteneurs séparés).

Je mets en place des communautés pour essayer de faire un peu de bien dans ce monde, mais malheureusement, je n’ai pas les moyens de payer des services d’hébergement très coûteux – même 20 $/mois représentent une dépense importante pour moi. Je suis déterminé à faire fonctionner cela avec les ressources dont je dispose, c’est pourquoi je sollicite vos conseils.

Cependant, j’ai rencontré un petit problème concernant la livraison des e-mails pour chaque sous-domaine. D’après ce que j’ai compris, il semble que la prise en charge native d’adresses e-mail distinctes par site ne soit pas disponible dans une configuration multisite. Cela me semble étrange, d’autant plus que Discourse gère des instances hébergées comme xyz.discourse.group et je suppose que vous n’allouez pas 2 Go de mémoire par instance. Sûrement, utilisez-vous une approche multisite similaire ?

Ma question est : comment gérez-vous la livraison des e-mails pour chaque sous-domaine ?

Par exemple, si j’ai les sites xyz1.domain.com et xyz2.domain.com, je veux que les e-mails sortants apparaissent respectivement comme notification@xyz1.domain.com et notification@xyz2.domain.com, plutôt que tout soit envoyé à partir d’une seule adresse générique. J’ai essayé de configurer Postfix avec des vérifications d’en-tête (par exemple, X-Originating-Domain) mais j’ai atteint un mur car tous les e-mails proviennent de la même adresse. Utiliser quelque chose comme l’en-tête List-Id serait-il une meilleure approche ? Je comprends que cela puisse être un sujet sensible, peut-être des informations propriétaires, mais toute aide est appréciée.

Je soupçonne que je réfléchis trop et qu’il existe une solution plus simple que j’ignore. Si vous pouviez partager comment vous y parvenez (ou m’orienter dans la bonne direction), je vous en serais incroyablement reconnaissant.

Merci d’avance pour votre temps et pour les éclaircissements que vous pourrez m’apporter !

1 « J'aime »

Ceci est incorrect. Où avez-vous obtenu cela ?
Vous pouvez définir notification_email par instance.

2 « J'aime »

La prise en charge native d’identifiants e-mail distincts par site n’est pas disponible.

2 « J'aime »

Salut,

Veuillez excuser la confusion dans mon précédent message — je réalise que je n’ai pas décrit le problème correctement. Laissez-moi clarifier.

Le défi auquel je suis confronté concerne la livraison des e-mails dans une configuration multisite où la principale préoccupation n’est pas les sous-domaines mais des domaines principaux entièrement différents. Par exemple, j’essaie de configurer des sites comme xyz1.domain1.com et xyz2.domain2.com au sein du même conteneur Discourse.

Je comprends que Discourse vous permet de définir un seul e-mail de notification dans app.yml, tel que :

DISCOURSE_SMTP_ADDRESS: smtp.domain1.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: noreply@domain1.com
DISCOURSE_SMTP_PASSWORD: password
DISCOURSE_SMTP_ENABLE_START_TLS: true

Cela fonctionne parfaitement pour la première instance (xyz1.domain1.com). Cependant, lorsque les e-mails sont envoyés depuis la deuxième instance (xyz2.domain2.com), les fournisseurs d’e-mails comme Gmail les signalent comme non correspondants car les en-têtes des e-mails ne correspondent pas au domaine xyz2.domain2.com. Essentiellement, je ne peux pas définir de configurations SMTP distinctes pour chaque domaine dans une seule configuration multisite.

Quelqu’un a-t-il réussi à gérer ce scénario où chaque domaine principal dans une configuration multisite utilise ses propres identifiants SMTP distincts (par exemple, des paramètres DISCOURSE_SMTP_* séparés par site) ? Existe-t-il une solution de contournement, ou cela nécessite-t-il des conteneurs séparés pour chaque domaine afin d’éviter les non-correspondances ?

Alternativement, existe-t-il des meilleures pratiques ou des outils (par exemple, des ajustements Postfix, l’utilisation des en-têtes List-Id) qui pourraient aider à résoudre le problème de non-correspondance sans avoir besoin de conteneurs séparés pour chaque site ?

J’apprécierais grandement toute idée ou suggestion. Merci encore pour votre temps et votre soutien !

Même si cela ressemble à une limitation de Discourse car une configuration multisite ne vous permet d’utiliser qu’un seul compte pour l’envoi, il s’agit en fait d’une limitation de votre fournisseur d’e-mails qui ne vous permet d’utiliser qu’une seule adresse d’expéditeur sous votre compte.

Le fait que SMTP_USER_NAME ressemble à une adresse e-mail est parce qu’ils ont choisi d’imposer que l’en-tête From: des e-mails que vous envoyez doive être le même (ou : est réécrit pour être le même) que le SMTP_USER_NAME.

Les en-têtes d’e-mail sont définis par Discourse et si vous utilisez un fournisseur d’e-mails qui ne les modifie pas et vous permet d’utiliser plusieurs adresses d’expéditeur sous le même compte, tout fonctionnera correctement.

3 « J'aime »

Je vois, donc je dois essentiellement configurer Postfix pour créer des vérifications d’en-tête personnalisées :

/^From:.+@example\.com/ REPLACE From: Your Name <yourname@example.com>

et c’est tout ? MERCI !

Si vous utilisez votre propre installation Postfix, je ne vois pas pourquoi cela poserait un problème.

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.