betagouv / rdv-service-public

Prise de RDV pour les services publics
https://rdv.anct.gouv.fr
GNU Affero General Public License v3.0
19 stars 3 forks source link

Empêcher la faute de frappe e-mail "moi.@courriel.fr" (Invalid to (Net::SMTPServerBusy)) #4317

Closed francois-ferrandis closed 2 months ago

francois-ferrandis commented 5 months ago

Nous avons régulièrement (1 à 5 fois par jour si on ignore les retries) une erreur STMP de Brevo qui nous indique que l'adresse de destination est invalide :

451 4.0.0 Invalid to (Net::SMTPServerBusy)

https://sentry.incubateur.net/organizations/betagouv/issues/93274

Après observation des données, cette erreur advient toujours lorsque l'adresse e-mail ressemble à moi.@courriel.fr. On peut supposer qu'il s'agit d'erreurs de saisie, et de toute façon une telle adresse est effectivement invalide^1.

Je propose d'ajouter ce critère lors de la validation de l'e-mail : elle ne doit pas contenir .@.

sentry-sentry-incubateur-net[bot] commented 5 months ago

Sentry issue: LAPINS-120

adipasquale commented 5 months ago

merci pour l’analyse @francois-ferrandis 👍

que fait-on des mails existants invalides lors de l’introduction de cette nouvelle règle de validation ?

  1. on supprime le trailing dot
  2. on supprime l’email (je ne sais pas si c’est possible ?)
  3. on ne fait rien

si on ne fait rien, est-ce que ça va empêcher des emails de leur être envoyés ? Il faudrait rajouter un unless user.valid? quelque part avant d’envoyer les emails mais ça me paraît un peu risqué

francois-ferrandis commented 5 months ago

Option 1 : on supprime le trailing dot :rocket:

sentry-sentry-incubateur-net[bot] commented 2 months ago

Sentry Issue: LAPINS-19E