PHPMailer ne fonctionne plus depuis 2jours... pourquoi?

Bonjour à toutes et à tous,

J'ai depuis 2 jours la problématique suivante: mon formulaire HMTL/PHP (classique de chez classique) sur mon site n'envoie plus de mails (alors que cela fonctionne toujours très bien en localhost via wampserver).
=> Je n'ai rien changé depuis 2 jours.
=> J'utilise ce code (formulaire + PHPMailer + tout le reste) depuis plusieurs mois maintenant

D'ou cela peut-il venir? De PHPMailer? De mon propre code ?
D'OVH? Mais dans ce cas, comment faire?

merci bcp!


PS: extrait de mon code PHPMailer:
* $mail->IsSMTP();
* _$mail->Host = 'ssl0.ovh.net'; _
* _$mail->Port = 465; _
* $mail->SMTPAuth = 1;
* $mail->CharSet = 'UTF-8';


* $mail->IsSMTP();
* _$mail->Host = 'ssl0.ovh.net'; _
* _$mail->Port = 465; _
* $mail->SMTPAuth = 1;
* $mail->CharSet = 'UTF-8';


Quand vous copiez du code, encadrez-le avec le formattage pour préserver les caractères spéciaux.

Essayez le port 587.

Il manque la ligne qui envoie le mail, et comment vous testez le retour en erreur.

en effet. C'était juste pour montrer (au cas où) cette partie du code, mais au global, je le redis, il fonctionnait très bien il y a peu et il fonctionne toujours très bien sur localhost…
je vais essayer votre proposition de changer le port ! merci

bon, j'ai changé le port : et j'ai un message d'erreur!

SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/TroubleshootingSMTP server error: Failed to connect to server


il fonctionne toujours très bien sur localhost...


pas sur les hébergement mutualisés.

Où se trouve votre site web, pour dire que ssl0.ovh.net:587 "Failed to connect to server" ?

montrez un peu toutes le lignes (en masquant le username et password avec des XXXXX)

Je voudrais voir la ligne `$mail->SMTPSecure = 'tls';` ou bien ce que vous avez mis.
Voici ! <br /><br />   use PHPMailer\PHPMailer\PHPMailer;<br />use PHPMailer\PHPMailer\Exception;<br /><br />include (&#34;Exception.php&#34;);<br />include (&#34;PHPMailer.php&#34;);<br />include (&#34;SMTP.php&#34;);<br /><br /><br />$mail &#61; new PHPMailer();<br />$mail-&gt;IsSMTP();<br />$mail-&gt;Host &#61; &#39;ssl0.ovh.net&#39;;               //Adresse IP ou DNS du serveur SMTP<br />$mail-&gt;Port &#61; 465;                          //Port TCP du serveur SMTP 465 <br />$mail-&gt;SMTPAuth &#61; 1;                        //Utiliser l&#39;identification<br />$mail-&gt;CharSet &#61; &#39;UTF-8&#39;; 					//Format d&#39;encodage à utiliser pour les caractères<br /><br />if($mail-&gt;SMTPAuth){<br />   $mail-&gt;SMTPSecure &#61; &#39;ssl&#39;;               			//Protocole de sécurisation des échanges avec le SMTP<br />   $mail-&gt;Username   &#61;  &#39;adresse&#64;mail&#39;;					//Adresse email à utiliser<br />   $mail-&gt;Password   &#61;  &#39;mdp&#39;;        					//Mot de passe de l&#39;adresse email à utiliser<br />}<br /><br />$mail-&gt;smtpConnect();<br /><br />$mail-&gt;From       &#61; &#39;adressse&#64;mail&#39;;       		//L&#39;email à afficher pour l&#39;envoi<br />$mail-&gt;FromName   &#61; &#39;Nom&#39;;            			//L&#39;alias à afficher pour l&#39;envoi<br /><br />$mail-&gt;Subject    &#61;  $nom.&#39; a écrit un message sur le site.&#39;;       //Le sujet du mail<br />$mail-&gt;WordWrap   &#61; 50; 			                   				//Nombre de caracteres pour le retour a la ligne automatique<br />$mail-&gt;AltBody &#61; &#39;Mon message en texte brut&#39;;	       				//Texte brut<br />$mail-&gt;IsHTML(true);<br />$mail-&gt;Body&#61;$messagetotal;<br /><br /><br />$list_emails_to &#61; array(&#39;mail&#39;);										//ajouter plusieurs destinataires avec une virgule<br />foreach ($list_emails_to  as $key &#61;&gt; $email) {<br />  $mail-&gt;AddAddress($email);<br />}<br /><br /><br />if (!$mail-&gt;send()) {<br />      echo $mail-&gt;ErrorInfo;<br />} else{<br />      echo &#39;Je vous recontacterai dès que possible.<br />&#39;;<br />}<br /><br />?&gt;
<blockquote><br />&lt;?php <br />use PHPMailer\PHPMailer\PHPMailer;<br />use PHPMailer\PHPMailer\Exception;<br />...<br /></blockquote><br />Votre script fonctionne, pour autant que les variables $nom ,  array(&#39;mail&#39;) , $messagetotal soient correctement populées.<br /><br />Mettez votre hébergement en mode development pour voir le texte des messages d&#39;erreur PHP.<br /><br />Je confirme que ssl0.ovh.net accepte mes mails aussi bien avec ssl et 465 ou bien avec tls et 587, je reçois bien les mails en retour et rien ne les distingue l&#39;un de l&#39;autre dans les en-têtes.<br /><br />Mon hébergement est sur cluster012. (Ca se confirme dans les en-têtes SMTP: X-OVh-ClientIp:51.68.11.219)<br /><br /><br />Mon hébergement mail derrière ssl0.ovh.net est un MX Plan Hosting avec webmail Roundcube.

Merci bcp déja pour votre temps. Vu que cela fonctionnait, les variables sont bien fournies derrière… donc je ne comprends pas !


Vu que cela fonctionnait


regardez dans votre espace client si ce compte mail n'est pas bloqué pour spam.
Avez-vous mis votre hébergement en mode development ?

Alors j'ai besoin d'aide, car OVH, franchement, moi pas tout comprendre…!!

1/ regardez dans votre espace client si ce compte mail n'est pas bloqué pour spam.
=> sur ma console, il y a indiqué pour mes mails : "bloqué pour SPAM : non"

2/ Avez-vous mis votre hébergement en mode developpement ?
=> comment fait on?

merci

Bonjour,


Avez-vous mis votre hébergement en mode development ?

je dirais qu'il n'y a pas besoin, mais activer le mode debug de phpmailer serait mieux.

Cordialement, janus57


moi pas tout comprendre...!!

Pour mettre en development



Puis Web Cloud (sans surprise)
Puis Hébergements Web

https://help.ovhcloud.com/csm/fr-web-hosting-change-php-version?id=kb_article_view&sysparm_article=KB0053013

Le contrôle pour spam, voyons plus tard, cherchez d'abord le message d'erreur.

J'ai mis dans le fichier .ovhconfig le mode dévelopment. Cela n'affiche pas d'erreurs particulières. Tout se passe bien du coté utilisateur de mon site. le formulaire semble bien transmis (formulaire en mode POST). Mais aucun mail n'atterrit dans ma boite. (alors que sur wampserver, ca marche bien)…


le formulaire semble bien transmis


Vous recevez bien la phrase "Je vous recontacterai dès que possible. " ?

Bonjour,

au risque de me répéter, mais pour débug :


je dirais qu'il n'y a pas besoin, mais activer le mode debug de phpmailer serait mieux.


Cordialement, janus57

oui, je reçois bien "Vous recevez bien la phrase "Je vous recontacterai dès que possible. " ?"

vous pouvez me dire comment svp?

Bonjour @Jean-MarieS9

Pour mettre en mode développement via le manager :

Voir dans mon guide le paragraphe :
P2 - Erreur 500 - Environnement développement

https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm#P2_-

<blockquote><br />vous pouvez me dire comment svp?<br /></blockquote><br /><br />J&#39;en ai sans doute trop fait.<br />5 minutes de recherche <br /><br />    error_reporting(E_ALL); <br />    ini_set(&#34;display_errors&#34;, 3);<br /><br /><br />    $mail &#61; new PHPMailer();<br />    $mail-&gt;IsSMTP();<br /><br />    $mail-&gt;SMTPDebug &#61; 3;<br /><br /><br />    2024-02-11 19:57:22 Connection: opening to <a target="_blank">ssl0.ovh.net:587,</a> timeout&#61;300, options&#61;array()<br />    2024-02-11 19:57:22 Connection: opened<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 220 GARM-98R002 Sunday, February 11, 2024<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: EHLO XXXXX.be<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 250-OVH SMTP PROXY Hello250-SIZE 104857600250-ENHANCEDSTATUSCODES250-AUTH LOGIN PLAIN250-AUTH&#61;LOGIN PLAIN250-STARTTLS250 8BITMIME<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: STARTTLS<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 220 2.0.0 Ready to start TLS<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: EHLO XXXXX.be<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 250-OVH SMTP PROXY Hello250-SIZE 104857600250-ENHANCEDSTATUSCODES250-AUTH LOGIN PLAIN250-AUTH&#61;LOGIN PLAIN250 8BITMIME<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: AUTH LOGIN<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 334 VXXXXXXXX6<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: [credentials hidden]<br />    2024-02-11 19:57:22 SERVER -&gt; CLIENT: 334 UXXXXXX6<br />    2024-02-11 19:57:22 CLIENT -&gt; SERVER: [credentials hidden]<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 235 2.7.0 Authentication successful<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: MAIL FROM:XXXXX.net&gt;<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 250 2.1.0 Ok<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: RCPT TO:XXXXX.net&gt;<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 250 2.1.5 Ok<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: DATA<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 354 OK<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Date: Sun, 11 Feb 2024 20:57:23 &#43;0100<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: To: fXXXXXXX@XXXXX.net<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: From: Nom XXXXX.net&gt;<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Subject: &#61;?UTF-8?Q?XX_a_&#61;C3&#61;A9crit_un_message_sur_le_site.?&#61;<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Message-ID: <br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: X-Mailer: PHPMailer 6.9.1 (https://github.com/PHPMailer/PHPMailer)<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: MIME-Version: 1.0<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Content-Type: multipart/alternative;<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: boundary&#61;&#34;b1&#61;_gOkkTW4oflajQrVgEqCS2RfrdLJPgrQFCjkHt7O9GU&#34;<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Content-Transfer-Encoding: 8bit<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: --b1&#61;_gOkkTW4oflajQrVgEqCS2RfrdLJPgrQFCjkHt7O9GU<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Content-Type: text/plain; charset&#61;us-ascii<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Mon message en texte brut<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: --b1&#61;_gOkkTW4oflajQrVgEqCS2RfrdLJPgrQFCjkHt7O9GU<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: Content-Type: text/html; charset&#61;us-ascii<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: blablabla<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: --b1&#61;_gOkkTW4oflajQrVgEqCS2RfrdLJPgrQFCjkHt7O9GU--<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER:<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: .<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 250 2.0.0 Ok: queued as 595F11FE8A<br />    2024-02-11 19:57:23 CLIENT -&gt; SERVER: QUIT<br />    2024-02-11 19:57:23 SERVER -&gt; CLIENT: 221 XXXXX.be Service closing transmission channel<br />    2024-02-11 19:57:23 Connection: closed<br />    Je vous recontacterai dès que possible.

Bonjour,


vous pouvez me dire comment svp?

en lisant la documentation de phpmailer :
<br />//Enable SMTP debugging<br />//SMTP::DEBUG_OFF &#61; off (for production use)<br />//SMTP::DEBUG_CLIENT &#61; client messages<br />//SMTP::DEBUG_SERVER &#61; client and server messages<br />$mail-&gt;SMTPDebug &#61; SMTP::DEBUG_SERVER;<br />
Cela va masquer les informations sensible automatiquement.

Cordialement, janus57