Impossible d'envoyer un email avec phpmailer smtp
Autor: Franck M.Bonjour,
Version php 8.2.15
Serveur IIS sous windows
Les emails fonctionnent avec d'autres applis php sur ce serveur mais pas avec les sites websiteX5.
J'avais déjà posté il y a 2 mois et la seule solution trouvée etait retour en php 7.3 :-(
Avant j'avais réussi à refaire fonctionner en me mettant en php 7.3 mais maintenant les autres applis ne fonctionnent qu'avec php > 8. Donc j'ai mis à jour tout le serveur en 8.2.15.
Normal 7.3 n'est plus supporté depuis 12/2021.
Apparement erreur dans le fichier email-form.php entre autres x5engine.php de websiteX5
erreurs dans le fichier des erreurs php :
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 26
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 29
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 32
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 65
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 70
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 93
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 108
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 113
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 118
[27-Jan-2024 09:38:23 Europe/Belgrade] PHP Deprecated: htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated in C:\Eco-Ici\admin\templates\sitetest\email-form.php on line 123
Les messages d'erreur indiquent un souci avec le strlen() et htmlentities()
J'avais deja posté la-dessus il y a quelques mois mais sans succès (d'ou retour en 7.3) mais là j'en ai rééllement besoin et je vois que malgré les nouvelles versions et la mise à jour des sites, rien n'a changé :-(
Même la page de tests en admin génère des caractères comme indiqué dans le fichier joint.
Certes c'est un serveur windows et pas linux mais je n'ai pas le choix et toutes les autres applis php 8.2 (dont certaines avec phpmailer) fonctionnent dessus.
Merci Incomédia de trouver RAPIDEMENT une solution.
Hello Franck,
A essayer
https://leblogdundsi.lesprost.fr/article67/xampp-windows-authnetification-smtp
Axel
Autor
Merci @Axel, je vais tester ça.
Mais bon le but de website c'est de pas se prendre le chou à faire du code, et c'est déplorable de devoir être avec une version php 7.3 obsolète < 2021 pour que ça marche sans qu'ils pensent à mettre à jour leur librairies.
Je pense qu'il n'y a pas les ressources R&D sur le passé de WSX5.
j'ai encore il y a peu echange sur la base de donnes qui n'est pas remise a plat car c'est inadmissible pour un logiciel de ecommerce de voir cela.
C'est ingérable et rien n'est documenté. mais ils ne savent pas refaire proprement.
c'est dommage.
il y a longtemps j'avais propose de les aider sur d'autres points. jamais eu de reponse !
trop fiers !
Hey Franck
those looks just like simple PHP warnings. Disable those on your server so that no error is displayed anymore and it should work
try that out if you can! if it works, you know it's just because those warnings are messing up with the code's logic
Autor
Hey Alberto,
I removed the warnings, so I don't have these displays anymore but it still doesn't work. Now I have this in the logs:
"SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting"
I've also tried setting smtp_debug to 3 instead of 0 in class.smtp.php and class.phpmailer.php to see what's going on, but no more results or information. Even in the system logs.
I don't really know what to do...
Autor
En plus je ne sais plus ce qu'affichait la page dashboard dans l'admin du site mais moi elle est complétement vide !
Hello Franck,
we are sorry for the issue.
What is the impacted website, and what is the hosting provider?
Thank you.
Eric
Online translation:
Bonjour Franck,
nous sommes désolés pour ce problème.
Quel est le site web impacté, et quel est le fournisseur d'hébergement ?
Nous vous remercions.
Eric
Autor
@Eric
https://www.eco-ici.com/privacy.html
It's a windows server with IIs and php version 8.2.15
Autor
What's more, I have direct access to it and can modify whatever I want on it.
Hello,
has the provider already be contacted for additional information about these errors?
Or is it a server of yours that you are using for this, seeing your last message?
Eric
Online translation:
Bonjour,
Le fournisseur a-t-il déjà été contacté pour avoir des informations supplémentaires sur ces erreurs ?
Ou est-ce un de vos serveurs que vous utilisez pour cela, vu votre dernier message ?
Eric
Autor
As I've already said, I have direct access to it and can modify whatever I want.
Haaaaaaaa... si seulement ils avaient des flags pour mettre certaines fonctions/modules en mode debug 1, 2 et 3 ... avec une génération de logs qui permettrait à l'éditeur de comprendre dans le code qui a généré l'erreur...
Moi j'ai fait cela quand le code est à distance.... surtout avec mes modules de paiements......
C'est le seul moyen de voir ou l'erreur est générée.....
Mais là toujours pas cette option !!!!
Ca aussi je leur ai proposé de faire !!!!
Mais tout n'est pas dévéloppé avec les mains !!!!
Alors que là on tatonne on cherche, on comprend pas, ca devrait .... peut être ou pas....
Ca n'avance pas quoi et surtout on ne voit pas l'avancement, et là c'est énervant je l'avoue....
La 1ere chose à faire et qu'ils devreient prendre la main directement....
Courage
Hello Franck,
could you please provide us with a coy of the project, exporting it into IWZIP format in Step 5, so that we can take a closer look
at what might be causing this?
You can use WeTransfer or similar platforms and send us a download link at sales @ incomedia.eu (removing the spaces).
Thank you.
Eric
Online translation:
Bonjour Franck,
Pourriez-vous nous fournir une copie du projet, en l'exportant au format IWZIP à l'étape 5, afin que nous puissions regarder de plus près ce qui peut causer ce problème ?
ce qui peut être à l'origine de ce problème ?
Vous pouvez utiliser WeTransfer ou une plateforme similaire et nous envoyer un lien de téléchargement à sales @ incomedia.eu (en supprimant les espaces).
Nous vous remercions.
Eric
Autor
Thanks Eric,
I send you the project
Hello Franck,
sorry for the late reply.
We would also like to inspect the server logs for when the failed attempts where made, if you could kindly send them to the same address, so that we can see additional details about the errors.
Just to double check, have you confirmed that all of the SMTP parameters in the project are the exact same used with the other PHP apps, the credentials and also the encryption method and the port?
Eric
Online translation:
Bonjour Franck,
Désolé pour la réponse tardive.
Nous aimerions également inspecter les logs du serveur pour savoir quand les tentatives ont échoué, si vous pouviez gentiment les envoyer à la même adresse, afin que nous puissions voir des détails supplémentaires sur les erreurs.
Juste pour vérifier, avez-vous confirmé que tous les paramètres SMTP dans le projet sont exactement les mêmes que ceux utilisés avec les autres applications PHP, les informations d'identification ainsi que la méthode de cryptage et le port ?
Eric
Autor
Fatigué de me battre avec la config de mon serveur, alors que tout le reste fonctionne sur celui-ci. J'ai résolu mon problème en mettant un système d'envoi de mail différent (webdev de Pcsoft) de celui de websiteX5 qui visiblement a des soucis avec les serveurs IIs / windows / php > 8.0 / et le smtp authentifié.
Pour info, c'est du smtp authentifié aussi avec le même fournisseur et la même config et donc les mêmes paramètres ;-)