Skip to content

Serveur SMTP personnalisable, services tiers optionnels et emails en dev#4195

Open
jtraulle wants to merge 8 commits into
osunyorg:mainfrom
Neuronnexion:config-email-and-opt-services
Open

Serveur SMTP personnalisable, services tiers optionnels et emails en dev#4195
jtraulle wants to merge 8 commits into
osunyorg:mainfrom
Neuronnexion:config-email-and-opt-services

Conversation

@jtraulle

Copy link
Copy Markdown

Type

  • Nouvelle fonctionnalité
  • Bug
  • Ajustement
  • Rangement

Description

L'objectif de cette PR est de permettre la personnalisation du serveur SMTP, de ne charger les services tiers Brevo (CRM) et Bugsnag que si les variables d'environnement sont définies/non vides et d'ajouter Letter Opener en environnement de développement.


Pour le serveur SMTP, on conserve smtp-relay.brevo.com / 587 / plain en paramètres par défaut si les variables d'environnement SMTP_ADDRESS, SMTP_PORT et SMTP_AUTHENTICATION ne sont pas déclarées pour rester compatible avec l'existant.

Pour Letter Opener, il permet de consulter directement l'ensemble des emails qui auraient normalement été transmis au serveur SMTP directement depuis le navigateur à l'adresse /letter_opener. Cela permet donc de s'affranchir d'une config valide de serveur SMTP en développement et permet de déboguer les emails sans risque d'envoi à de vraies personnes en cas de récupération des données depuis un autre environnement comme la production en environnement de développement puisque tout est "attrapé" par Letter Opener. La configuration des internal_domains reste en place pour les environnements annexes (pas production ni development, par exemple staging).

Capture d'écran_20260715_094108

Niveau d'incidence

  • Incidence faible 😌
  • Incidence moyenne 😲
  • Incidence forte 😱

jtraulle added 4 commits July 15, 2026 09:02
Adresse, port et méthode d'authentification deviennent configurables
via variables d'environnement, avec les valeurs Brevo actuelles comme
valeurs par défaut pour rester compatible avec l'existant.

Signed-off-by: Jean Traullé <j.traulle@nnx.com>
Signed-off-by: Jean Traullé <j.traulle@nnx.com>
Signed-off-by: Jean Traullé <j.traulle@nnx.com>
Intercepte les envois d'emails en développement pour les afficher
dans le navigateur à /letter_opener au lieu de tenter un envoi SMTP réel.

Signed-off-by: Jean Traullé <j.traulle@nnx.com>

@arnaudlevy arnaudlevy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci !
On en parle tout à l'heure, c'est encore super chouette :)
J'ai du mal à m'y tenir moi-même mais je pense qu'il faut tenter de faire des PR avec une seule chose.

Là, je dirais qu'il y en a 2 :

  • letter opener
  • meilleure init Brevo / Bugsnag

Comment thread app/mailers/application_mailer.rb Outdated
Comment thread app/mailers/devise_mailer.rb Outdated

def should_send?(email)
Rails.env.production? || email.end_with?(*Rails.application.config.internal_domains)
Rails.env.production? || Rails.env.development? || email.end_with?(*Rails.application.config.internal_domains)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idem

Comment thread app/views/application/_bugsnag.html.erb Outdated
Comment thread config/environments/development.rb
Comment thread config/initializers/brevo.rb Outdated
@jtraulle

Copy link
Copy Markdown
Author

Merci pour les retours, je vais changer la condition pour que ça soit plus lisible pour Bugsnag et ajouter la variable d'env INTERNAL_DOMAINS. Il vaut mieux que je modifie les commits existants et force push ou en l'ajoutant dans un nouveau (pas gênant si vous faites un squash au merge) ?

@arnaudlevy

Copy link
Copy Markdown
Member

Je ne sais pas encore bien comment faire au mieux, et j'ai demandé à @SebouChu son avis sur INTERNAL_DOMAINS, on a peut-être plus besoin du tout, avec la gem letter_opener. On en parle tout à l'heure ?

Comment thread app/views/application/_bugsnag.html.erb Outdated
Comment thread app/services/brevo/sms_service.rb Outdated
arnaudlevy and others added 2 commits July 15, 2026 15:21
Co-authored-by: Sébastien Gaya <sebastien.gaya@gmail.com>
@arnaudlevy

Copy link
Copy Markdown
Member

Il reste la question de l'env de test. @pabois est-ce qu'on ajoute letter_opener ? Ou pas ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants