Multisite installation with seperated smtp emails

AI-generated summary

The discussion revolves around configuring separate SMTP email settings for different sites in a multisite Discourse installation. suanfazu and 5minpause initially struggled to achieve this, and sam confirmed that multisite installations currently don’t support multiple outgoing SMTP servers.

However, sam expressed willingness to consider a pull request for this feature, suggesting that email settings should be in site settings with the option to be shadowed by globals.

SimonBiggs explored the possibility of funding the implementation of this feature, but later discovered that the desired effect could be achieved by not setting the DISCOURSE_NOTIFICATION_EMAIL environment variable, allowing site-specific email settings to be configured.

silverdr proposed the details of the changes that could be implemented, including the possibility to override all SMTP configuration variables per site or, at a minimum, override the SMTP user name and password per site.

I followed this post to setup doctor multisites.

but how to configure different smtp email settings for different sites?

I tried this as well and couldn’t get the second site to use different settings from the first site.

Perhaps @sam could offer an opinion, if this is a known bug or something else.

We don’t support multiple outgoing SMTP servers in multisite

Thanks for the answer. Is this something you would consider given a pull request? Does it make sense to invest time in?

Sure, if you can pull it off, its pretty complicated, but I would be open to have a PR for it and would kind of prefer if email settings were in site settings as long as they can be shadowed by globals.

Salut @sam,

Y aurait-il une possibilité de financement si j’implémentais cette fonctionnalité ? Nous cherchons actuellement à obtenir une subvention MVP de notre gouvernement (https://www.nsw.gov.au/grants-and-funding/mvp-ventures-program) et tout financement que vous fourniriez nous permettrait d’obtenir une contrepartie du gouvernement de 1$ pour 1$, ce qui serait formidable :slight_smile:.

Cordialement,
Simon

Pouvez-vous détailler toutes les modifications proposées ?

Salut @sam,

Je viens de réaliser que si je ne définis pas la variable d’environnement suivante :

DISCOURSE_NOTIFICATION_EMAIL

Dans le fichier app.yml, alors l’élément de configuration suivant apparaît dans les paramètres :

Et je peux l’utiliser pour obtenir exactement l’effet que je souhaitais.

Merci @sam d’avoir été ouvert à la possibilité de cela :slight_smile:, mais il semble que je n’aurai pas besoin d’une PR cette fois-ci.

Maximum / idéal :

  • Possibilité de remplacer toutes les variables de configuration SMTP par site dans la configuration multisite
    • DISCOURSE_SMTP_ADDRESS
    • DISCOURSE_SMTP_PORT
    • DISCOURSE_SMTP_USER_NAME
    • DISCOURSE_SMTP_PASSWORD
    • DISCOURSE_SMTP_ENABLE_START_TLS
    • DISCOURSE_SMTP_DOMAIN

Minimum :

  • Possibilité de remplacer les variables suivantes liées au SMTP par site
    • DISCOURSE_SMTP_USER_NAME
    • DISCOURSE_SMTP_PASSWORD

dans leurs équivalents config/multisite.yml

Contexte pour le minimum : étant donné qu’il n’y a pas d’autres choix, je peux configurer les choses pour vivre avec un serveur SMTP, mais j’ai sûrement besoin d’utilisateurs SMTP distincts (expéditeurs). L’envoi d’e-mails à partir d’une adresse dans un domaine différent de celui sur lequel le site Discourse est exécuté ressemble malheureusement à un obstacle insurmontable.