[Bug #8837] Sur la version 4.6.0, l'envoi de mail ne fonctionne pas dans certains cas d'utilisation

Bonjour,

L’évolution de la 4.6.0 ‘Mise à jour de la librairie PHPMailer en version 5.2.23’ (http://adullact.net/tracker/?func=detail&aid=8781&group_id=265&atid=1999) a introduit une régression concernant l’envoi de mails :

  • si le serveur SMTP requiert une authentification et que le certificat SSL n’est pas valide sur ce dernier alors les mails ne partent plus avec l’erreur : SMTP Error: Could not connect to SMTP host.
    => PHPMailer a fait évoluer ses paramètres de sécurité et par défaut il faut avoir un SSL valide
  • si le serveur SMTP accepte plusieurs types d’authentification autre que LOGIN, il se peut que ce ne soit plus le bon qui soit utilisé et alors les mails ne partent plus avec l’erreur : SMTP Error: Could not authenticate.
    => PHPMailer a changé l’ordre par défaut des types d’authentification

Les tests automatisés sur la fonctionnalité ‘Réinitialisation du mot de passe’ n’ont pas détecté ces erreurs car le serveur mail local de test ne nécessite pas d’authentification. Donc on ne passe pas dans le nouveau code d’authentification et de SSL de PHPMailer.

La solution est de rendre contrôlable dans le fichier de configuration mail.inc.php les paramètres de PHPMailer suivants :

  • $mail->SMTPAutoTLS
  • $mail->SMTPSecure
  • $mail->AuthType

Je pense produire un correctif allant dans ce sens d’ici la fin de la semaine et tagger une 4.6.1. Je détaillerai les spécifications du correctif ici pour avoir vos remarques.

Florent.

Avant de taguer la 4.6.1 je souhaiterais intégrer la correction de ce bug :
https://adullact.net/tracker/index.php?func=detail&aid=8830&group_id=265&atid=1998