"Email de test" ne fonctionne pas avec localhost

  • scoubinaire
  • Topic Author
  • Elite Member
  • Elite Member
More
3 years 9 months ago #2811 by scoubinaire
Bonjour Yan, j'ai découvert ce problème mais aussi un moyen de le contourner
Niveau GRR 341D PHP 7.3.10 et 7.4.4 on localhost
La fonction "Email de test" ne fonctionne pas avec les adresses de mail xxx@localhost
Elle renvoie le message "L'adresse mail de test n'est pas valide"
mais avec une adresse xxx@localhost.yy cela fonctionne correctement
Le problème est situé dans admin_config3.php
ligne 135 :
$mail_test = filter_var(clean_input($_GET),FILTER_VALIDATE_EMAIL);
if (!$mail_test){
echo "L'adresse mail de test n'est pas valide";
die();
}
FILTER_VALIDATE_EMAIL est localisé dans phpmailer/class.phpmailer.php
D'après Internet, plusieurs Internautes ont remarqué que FILTER_VALIDATE_EMAIL ne supportait pas les "dotless domains".
J'avais aussi remarqué ça sur d'autres logiciels comme Joomla.
--
Pour travailler en mode localhost, j'utilise XAMPP avec le serveur de messagerie MERCURY activé
J'ai défini dans Mercury des adresses emailx. Ceci définit automatiquement les adresses emailx.localhost et je définis donc des adresses mails emailx.localhost dans ma messagerie personnelle ThunderBird.
Alors je me suis demandé si l'on ne pouvait pas utiliser dans Mercury un autre nom de domaine comme localhost.yy
J'ai remarqué que dans le fichier Config de Mercury (mercury.ini) on trouvait :
[Domains]
# NetWare Server Domain name
localhost : localhost
localhost : localhost.net
localhost : localhost.org
localhost : localhost.com
J'ai donc essayé d'envoyer des messages à emailx@localhost.net ou emailx@localhost.org ou emailx@localhost.com et ça fonctionne dans tous les cas.
En résumé : j'ai donc défini des adresses emailx dans Mercury et défini les adresses correspondantes emailx@localhost dans ThunderBird
Dans GRR, dans "Email de test" j'utilise emailx@localhost.net (ou .org ou .net) et ça fonctionne dans tous les cas !
Il n'y a pas besoin de définir emailx@localhost.com (ou .org ou .net) dans ThunderBird emailx@localhost est suffisant.
Cordialement, Jean-Pierre

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
3 years 9 months ago #2813 by Yan
Bonjour Jean-Pierre,
et merci pour ton analyse fouillée.
Effectivement j’ai été un peu vite en filtrant les données avec la fonction standard de php qui rejette les adresses mail en localhost.
Le hack que tu donnes est intéressant et je l’inclurais bien dans la documentation.
Ou alors je reprends la fonction locale de validation de l’adresse mail en procédant par cas.
Cordialement
Yan

Please Log in or Create an account to join the conversation.

Moderators: Yan