Open TheoLechemia opened 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 :
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.
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.
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.
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".
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.
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 ?