Bonjour a tous j'éssaie d'envoyer des mails depuis mon site internet afin de valider l'inscription de mes visiteurs mais je rencontre des difficultés

$to =$_POST['adresse_mail'];
$subject = "Vérification PHP Mail";
$message = "Afin de valider la création de votre compte merci de cliquer sur ce lien \n\n http://360tourdumonde.com/confirm?id_client=".$client_last_id."&token=".$token;
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo "L'email a été envoyé.";``` lorsque dans mon corps du message $message j'utilise mes variables $client_last_id et $token, le message n'est jamais envoyé , mais si j'utilise seulement une chaine de caractères du style "bonjour a tous " dans le corps du message, a ce moment là le message est bel et bien envoyé, quelqu'un sait ce qu'il se passe? merci

Ce que je veux

Décrivez ce que vous cherchez à obtenir.

Ce que j'obtiens

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

19 réponses


`par contre ce code ci fonctionne $from = "inscription@360tourdumonde.com"; $to =$_POST['adresse_mail']; $subject = "Vérification PHP Mail"; $message = "PHP mail marche"; $headers = "From:" . $from; mail($to,$subject,$message, $headers); echo "L'email a été envoyé.";

Bonjour, difficile de t'aider sur ce problème, il faudrait que tu nous en dise plus sur ces variables $client_last_id et $token... sont elles bien définies ? d'où proviennent-elles ?

j'ai créé une fonction generation token qui permet de me retourner une chaine de caractères aléatoire de 60 caractères, l'idée est que chaque token soit unique , tout comme le $client_las_id qui est lui l'id du dernier client a s'etre inscrit sur mon site, l'idée est que la combinaison token et client_last_id me permette d'identifier un client en particulier et de valider son inscription. ses deux variables proviennent de la meme page appelé "traitement_insciption.php" et je n'ai pas de code d'erreur lors de l'envoi du mail

Tu as regardé avec un écho si ces variables sont bien récupérées ? Quels sont les caractères pouvant êtres générés dans ton $token ? Si il y a des caractères type guillemets ou point virgule ça peut mettre le foutoir dans ton code php

oui j'ai fait le test avec un echo , et les valeurs sont bien récupérées il n' y a pas de caractères speciaux non plus que des lettres et des chiffres

je ne sais pas si sa peut aider mais dans mon cpanel au niveau des mails a chaque fois que les mails ne sont pas envoyé ,j'ai score spam avec un panneau de signalisation interdit qui s'affiche , d'après ce que j'ai cru comprendre c'est la note qui nous montre a quel point un message peut etre considéré comme un spam, les notes sont plutot élevé, mais quand les messages sont envoyé les notes sont assez faibles

AAAAH après vérification, c'est effectivement un problème de spam score, de délivrabilité des mails, mon score est trop élevé, du coup le sujet change, comment je dois écrire mon code et mes mails afin que mon spam scrore soit le plus faible possible

va le site mail-tester.com, il te donne une adresse pour que tu envoies un mail test et cela te donnera le scrore et ce qu'il faut corriger

comment je fais pour leur envoyer un mail puisque mon hebergeur m'en empeche.

je viens de faire le test sur mail-tester.com j'ai littéralement envoyé tout le code html de mes messages d'inscription via google. j'ai un score de 9 ce qui est une bonne note puisqu'ils me disent que je peux envoyer le mail. du coup je sais pas ce qui se passe avec mon hebergeur

vous n'arrivé pas à envoyé votre mail ou vous ne le recevez pas ?

je n'arrive pas a l'envoyer. lorsque mon client s'inscrit sur mon site il doit recevoir un lien dans sa boite mail sur lequel il doit cliquer afin d'activer son compte. c'est ce message là que mon hebergeur bloque a cause d'après eux d'un spam score depassant 8, or je viens de faire le test sur mail-tester comme vous me l'avez suggéré et mon score frole la perfection. donc....

donc c'est la réception qui ne vas pas.
vous avez fais des essais sur différentes email ? gmail, hotmail, outlook ?
gmail sont très exigent sur le "headers"

non j'ai seulement essayé avec gmail.com

il faut un header complet pour gmail, sinon le message est détruit avant même d'arrivé

mais bon le problème est qu'il faut que sa marche car je peux pas forcer mes clients a choisir tels ou tels services de messagerie

un header complet peu tu m'en dire plus??

merci pour ces liens je vais regarder sa tout de suite et je ferai des tests , je te dirai ce qu'il en retourne