PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
99 stars 101 forks source link

Envoi d'email - adresse destinataire fausse #1237

Open TheoLechemia opened 3 years ago

TheoLechemia commented 3 years ago

Aucune erreur n'est levée lorsque l'email de l'utilisateur n'existe pas. Vérifier s'il est possible d'attraper une erreur par un autre moyen ?

jpm-cbna commented 3 years ago

L'envoie d'email dans GeoNature s'appui sur une bibliothèque qui les envoie via un serveur SMTP. Attraper l'exception qu'elle peut déclencher est déjà une bonne avancée.

Concernant le repérage des adresses destinataire fausse, cela me semble plus difficile car il faudrait un mécanisme asynchrone qui soit déclenché au retour d'email du serveur distant indiquant que l'adresse du destinataire n'existe pas. Encore faut il que l'on reçoive cet email car si un mécanisme de "catch-all" est actif sur le serveur email distant rien ne sera renvoyé...

Les solutions envisageable pour s'assurer de la validité d'un email :

  1. une expression régulière lors de sa saisie qui vérifie que sa forme est valide (déjà en place dans l'inscription)
  2. une vérification par envoie d'un email qui contient un lien vers GeoNature permettant de confirmer ainsi que l'email existe réellement.

Pour la solution 2, il vaut mieux ajouter cette possibilité sans qu'elle soit bloquante lors de l'inscription... Elle doit pouvoir être réalisé après l'inscription. Le fonctionnement de la vérification d'email de Github est un bon exemple.

camillemonchicourt commented 3 years ago

Dans notre cas (GINCO-DEPOBIO), les emails ne sont pas saisis, car on récupère les adresses emails des utilisateurs depuis le webservice des utilisateurs de l'INPN.

bouttier commented 3 years ago

Une gestion correcte des e-mails n’est pas trivial …

Globalement, de mon point de vue, il faut :

À noter également qu’envoyer des e-mails qui soient acceptés par les serveurs e-mails nécessite une configuration assez poussé (DKIM, DMARC, …) et de régulièrement faire des demande de dé-blacklistage à droite à gauche … Il est aussi possible de passer par des serveurs relais payant s’occupant de cela.

camillemonchicourt commented 3 years ago

Là je suis pas certain que l'on soit concerné par les problèmes de blacklistage, car on s'appuie sur le SMTP de sa structure pour les envois d'email. Dans notre cas, un email en "@ecrins-parcnational.fr".

bouttier commented 3 years ago

Effectivement, dans ce cas ce genre de soucis est du ressors de la structure :-) Ceci dit, c’est quand même à nous de gérer les bounces. D’autre part, je pense qu’il est bien d’avoir un smtp local sur la machine geonature qui relais vers le smtp de la structure, de manière à ce qu’en cas de problème réseau entre geonature et la structure, ou d’interruption de service du smtp de la structure, geonature ne génère pas des 500 mais que les mails arrivent dans la file d’attente locale.