Erreurs SMTP Mails envoyés erratique

Bonjour à tous!

Infos tech: Debian 10 / Dolibarr: 10.3 / PHP 7.3 / Serveurs dédiés / toutes les libs à jour

Synthèse problème: mails envoyés avec 2 PJ - msg d’erreur ALEATOIRE côté client - les mails partent bien et sont reçus par le destinataire - DOLIBARR n’enregistre de fait pas l’action d’envoi comme effectuée

Fervent utilisateur Dolibarr de longue date (actuellement en 10.3), j’ai migré il y a peu ma messagerie de GMAIL Entreprise -> Infomaniak (envoi hors DKIM). Et là je rencontre des soucis ALEATOIRES d’envoi de messages (propales, factures).

Lors de l’envoi de mails, message d’erreur aléatoire comme quoi le mail n’est pas envoyé. (le plus souvent avec 2 PJ ex 400ko de facture et 2Mo env de PJ complémentaire). Mais ce n’est pas systématique.
Le soucis est que LE MAIL PART BIEN (malgré le msg d’erreur DOLIBARR!) mais que Dolibarr n’enregistre pas la trace d’envoie dans les actions effectuées…
(PS: le PHP accepte jusqu’à 5Go et j’ai fixé à 30Mo sous Dolibarr la partie email donc les attachements sont OK, vérifiés sous la console d’admin)

J’ai voulu comprendre le soucis et j’ai voulu ajouter le DKIM sur mes mails: j’ai déployé un DEBIAN 10 avec PostFix et OpenDKIM (activation SPF,DKIM,DMARC enfin la totale). Serveur 100% opérationnel qui sert de routage pour 3 autres de mes serveurs dédiés avec de nombreux autres outils.

J’interface de fait DOLIBARR avec flux sur le 465 en connexion simple non TLS non STARTTLS. (avec le STARTTLS ou TLS j’ai un msg d’erreur systématique lors de l’envoi d’un email, étrange d’ailleurs… de nombreux autres posts existent à ce sujet également sans réponse réelle)

Donc mon erreur lors de l’envoi d’un message (fameuses popup haut droite de l’écran): Échec de l’envoi de l’email (émetteur=XXXXX <[email protected]>, [email protected])
Error [121]: Couldn’t get mail server response codes Error [120]: Ran into problems sending Mail. Response:

NOTA: dommage, aucune info complémentaire… la ‹ RESPONSE › n’est pas présente… :unhappy:

Mais DOLIBARR ENVOIE BIEN LES MESSAGES mais RENVOIE UNE ERREUR côté client ce qui inhibe l’enregistrement des actions sous DOLIBARR (je ne sais pas si un commercial a envoyé ou non la facture ou propale).
Enfin un comportement erratique du mécanisme d’envoi.
Aucune info côté POSTFIX rien dans les logs pour ma messagerie l’envoi est OK.

J’ai regardé le code pour le mécanisme d’envoi. Des fonctions datent vraiment (2010/2011…)

J’ai pris la dernière release de la classe SMTPS modifiée par ELDY dans le github avec quelques corrections récentes.


Mais le soucis demeure …

Je suis prêt à faire des modifs de code PHP ou différents tests, mais là cela me gêne fortement ce dysfonctionnement.
(j’ai regardé les quelques fonctions comme server_parse etc… mais je ne souhaite pas casser le système non plus :happy:

Un retour? Comment éviter ces messages d’erreur qui n’ont pas lieu d’être??
Comment identifier le fait que j’obtienne un msg d’erreur qui ne devrait pas arriver??

Merci à tous pour avoir lu ce post, et un énorme merci pour vos réponses à tous! :happy:

Salut @stormbyte27,

D’abord, félicitations pour être parti de chez Google :happy:

Quelle est la méthode d’envoi actuellement définie ?
D’après ton message, je comprends que tu utilises SMTP/SMTPS socket library.
As tu essayé en configurant la méthode d’envoi à Swift Mailer socket library ?

Hello @jtraulle

Merci pour ton retour!!

Et bien tu m’as trouvé la solution! Le Swift Mailer socket library fonctionne parfaitement!
Plus aucun soucis d’erreur de mail non distribué! J’ai testé avec plusieurs PJ, tout est OK!!
Merci pour ta réactivité et efficacité!

PS: pourquoi conserver le mécanisme mail si le Swift Mailer est son successeur??! :wink:

Par contre j’ai trouvé un dysfonctionnement dans le mécanisme de test d’envoi:
- on fait un email volontairement erroné (ex: trop grande PJ) -> on a une popup d’erreur ce qui est normal
- on réactualise le browser, on ne voit plus de PJ active et l’on attache d’autres fichiers pour test --> le système cherche toujours l’ancienne PJ et donc renvoie une erreur … cela peut induire en erreur l’utilisateur. That’s all!

Swift Mailer est une solution bien plus robuste pour l’envoie d’emails mais qui nécessite au minimum PHP 7.0
J’imagine que c’est donc pour cela que la lib SMTP/SMTPS qui n’a pas cette limitation de compatibilité est conservée pour les gens encore sous PHP 5.6 (oui, c’est maaal :evil: )

Merci pour le signalement d’anomalie, si tu écris l’anglais, pourrais tu le rapporter ici : https://github.com/Dolibarr/dolibarr/issues/new?assignees=&labels=Bug&template=bug_report.md&title=

ok c’est noté @jtraulle!

je vais faire remonter cette anomalie!

PS: sympa ton chapeau :wink:

1 « J'aime »

Bonsoir,

merci pour ce post, je teste car j’ai le même problème.