Bonjour à toutes et à tous,
Suite inscription d'un utilisateur sur mon site je réponds par un courriel de "bienvenue". Mais comme mon adresse est envoyée sous une forme "cluster-xxxxxxmachinchose.ovh.net" ils finissent direct côté spam (yahoo et Cie se méfient de ce type d'adresse); Y a-t-il un moyen de corriger cela, d'envoyer simplement l'adresse de l'expéditeur (moi@mon_dom.eu quoi ?!!).
Merci de vos réponses et bonne journée.
Bonjour,
Cela doit se configurer dans vôtre script/cms.
Cordialement, janus57
Merci de votre réponse. Mais qui vous a parlé de CMS ? Je n'ai pas de CMS, c'est du code à la mimine qui marche dans un script à moi sur Ipage (l'adresse arrive bien chez le "client" sous forme moi@mon_domaine.eu), puis copié collé dans mon code chez OVH et ça ne marche plus (l'adresse arrive chez le "client" sous forme de nomUtilOvh@clusterXXX.hosting.ovh.net ??? Direct SPAM !!!).
Il a bien fallu qu'une moulinette se fasse pour que MON adresse devienne LEUR adresse (sous-domaine OVH ?).
Maintenant merci encore de me dire que c'est dans mon script que ça se passe, ce dont je ne suis pas du tout sûr, mais rien de dit sur la façon de le configurer. Excuses-moi janus mais je sais bien que c'est pas dans le script du voisin que ça se solutionnera. Si tu sais pourquoi quand je lui dis $to = mon_nom@mon_domaine.eu il me met le cluster, pourquoi ne pas me donner le mode de configuration, un bout de code, un lien Internet ?! Cordialement Roger
Bonjour,
dans ce cas précis ce serrait plutôt à vous de fournir de le bout de code que vous utilisez.
Et c'est pas le "to" qu'il faut définir avec votre mail, mais le "from" pour ne pas que ce soit une valeur par défaut qui lui soit attribué.
Cordialement, janus57
Bien, merci encore de ta réponse. Voilà le code. Il n'est pas fini mais je voulais, dans un prmier temps, voir comment circulaient les mails... Et ils circulent bien... mais avec une adresse OVH PAS la mienne.<br /><br /> if(!empty($_POST['email']))<br />{<br /> //$civil = $_POST['civil'];<br /> $name = utf8_decode(htmlspecialchars(stripslashes(trim($_POST["civil"].$_POST['nom']))));<br /> $prenom = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['prenom']))));<br /><br /> if ( preg_match ( " /^.+@.+\.[a-zA-Z]{2,}$/ " , $_POST['email']) )<br /> {<br /> $email = htmlspecialchars(stripslashes(trim($_POST['email'])));<br /> $msg_err = 0 /*"Message envoyé avec succés"*/;<br /> }<br /> else<br /> {<br /> $msg_err = 1 /*"Courriel invalide. Merci de vérifier"*/;<br /> header("Location: ../index.php?msg_err=".$msg_err."#contact");<br /> }<br /> $sujet = htmlspecialchars(stripslashes(trim($_POST['sujet'])));<br /> $message = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['message']))));<br />}<br />else<br />{<br /> $msg_err = 2 /*"Connection serveur interrompue. Essayez plus tard"*/;<br />}<br />//Envoi du message vers ma mail box quand un "client" a besoin de me contacter<br />$contenu = ("<p style="\"color:#FF0000\";">".utf8_decode("Envoyé depuis le site des collectionneurs à deux balles")."</p><p>From <strong>".$name." ".$prenom."</strong></p>".$message).<br /> ini_set( 'display_errors', 1 ).<br /> ini_set("SMTP", "SMTP.ovh.com").<br /> ini_set("smpt_port", 465).<br /> error_reporting( E_ALL ).<br /> $from = $email;<br /><br /> $to = "contact@roger-bella.eu";<br /><br /> $sujet = utf8_decode($sujet);<br /><br /> $message = $contenu;<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $from;<br /><br /> mail($to, $sujet, $message, $headers<br /><br /><br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit à la new letter<br /> if (isset($_POST["news_letter"]) AND ($_POST["news_letter"] == "on") AND ($msg_err == 0))<br /> {<br /> echo $contenu;<br /><br /> $sujet = utf8_decode("Inscription à la news letter - ");<br /><br /> $message = utf8_decode("Vous êtes maintenant inscrit à ma news letter. Merci pour votre demande et à bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $to;<br /><br /> //mail($email, $sujet, $message, $headers);<br /> }<br /><br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit "au club"<br /> if (isset($_POST["new_user"]) AND ($_POST["new_user"] == "on") AND ($msg_err == 0))<br /> {<br /> echo $contenu;<br /><br /> $sujet .= utf8_decode("Autorisation entrée dans les coulisses du site ;-)");<br /><br /> $message .= utf8_decode("Bienue au club ! Envoi de vos IDs par mail de retour. À bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $to;<br /><br /> }<br /> mail($email, $sujet, $message, $headers);<br /><br /><br /> header("Location: ../index.php?msg_err=".$msg_err."#contact");<br /> ?>
Ok. Merci encore de votre réponse. Voici en pièce jointe ma page "cible.php" qui gère les envois.<br /> 1 Si un "client" veut me contacter JE reçois un mail.<br /> 2 Si il s'inscrit à la new letter JE reçois un mail et IL reçoit une réponse <br /> 3 Si il s'inscrit au "club" JE reçois un mail et IL reçoit une réponse<br />De même s'il s'inscrit aux deux.<br /><br /> if(!empty($_POST['email']))<br /> {<br /> //$civil = $_POST['civil'];<br /> $name = utf8_decode(htmlspecialchars(stripslashes(trim($_POST["civil"].$_POST['nom']))));<br /> $prenom = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['prenom']))));<br /> if ( preg_match ( " /^.+@.+\.[a-zA-Z]{2,}$/ " , $_POST['email']) )<br /> {<br /> $email = htmlspecialchars(stripslashes(trim($_POST['email'])));<br /> $msg_err = 0 /*"Message envoyé avec succés"*/;<br /> }<br /> else<br /> {<br /> $msg_err = 1 /*"Courriel invalide. Merci de vérifier"*/;<br /> header("Location: ../index.php?msg_err=".$msg_err."#contact");<br /> }<br /> $sujet = htmlspecialchars(stripslashes(trim($_POST['sujet'])));<br /> $message = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['message']))));<br /> }<br /> else<br /> {<br /> $msg_err = 2 /*"Connection serveur interrompue. Essayez plus tard"*/;<br /> }<br /> //Envoi du message vers ma mail box quand un "client" a besoin de me contacter<br /> $contenu = ("<p style="\"color:#FF0000\";">".utf8_decode("Envoyé depuis le site des collectionneurs à deux balles")."</p><p>From <strong>".$name." ".$prenom."</strong></p>".$message).<br /> ini_set( 'display_errors', 1 ).<br /> ini_set("SMTP", "SMTP.ovh.com").<br /> ini_set("smpt_port", 465).<br /> error_reporting( E_ALL ).<br /> $from = $email;<br /> $to = "contact@roger-bella.eu";<br /> $sujet = utf8_decode($sujet);<br /> $message = $contenu;<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $from;<br /> mail($to, $sujet, $message, $headers<br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit à la new letter<br /> if (isset($_POST["news_letter"]) AND ($_POST["news_letter"] == "on") AND ($msg_err == 0))<br /> {<br /> echo $contenu;<br /> $sujet = utf8_decode("Inscription à la news letter - ");<br /> $message = utf8_decode("Vous êtes maintenant inscrit à ma news letter. Merci pour votre demande et à bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $to;<br /> //mail($email, $sujet, $message, $headers);<br /> }<br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit "au club"<br /> if (isset($_POST["new_user"]) AND ($_POST["new_user"] == "on") AND ($msg_err == 0))<br /> {<br /> echo $contenu;<br /> $sujet .= utf8_decode("Autorisation entrée dans les coulisses du site ;-)");<br /> $message .= utf8_decode("Bienue au club ! Envoi de vos IDs par mail de retour. À bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "De : " . $to;<br /> }<br /> mail($email, $sujet, $message, $headers);<br /> header("Location: ../index.php?msg_err=".$msg_err."#contact");<br /> ?>
Bonjour,<br /><br />outre le fait que le script ne semble pas respecter les normes en matière de mail la correction la plus adapté serait (si j'ai bine compris) :<br />[code]<br />if(!empty($_POST['email'])) {<br /> //$civil = $_POST['civil'];<br /> $name = utf8_decode(htmlspecialchars(stripslashes(trim($_POST["civil"].$_POST['nom']))));<br /> $prenom = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['prenom']))));<br /> if ( preg_match ( " /^.+@.+\.[a-zA-Z]{2,}$/ " , $_POST['email']) ) {<br /> $email = htmlspecialchars(stripslashes(trim($_POST['email'])));<br /> $msg_err = 0 /*"Message envoyé avec succés"*/;<br /> }<br /> else {<br /> $msg_err = 1 /*"Courriel invalide. Merci de vérifier"*/;<br /> header("Location: ../index.php?msg_err=".$msg_err."#contact");<br /> }<br /> $sujet = htmlspecialchars(stripslashes(trim($_POST['sujet'])));<br /> $message = utf8_decode(htmlspecialchars(stripslashes(trim($_POST['message']))));<br />}<br />else {<br /> $msg_err = 2 /*"Connection serveur interrompue. Essayez plus tard"*/;<br />}<br />//Envoi du message vers ma mail box quand un "client" a besoin de me contacter<br />$contenu = ("<p style="\"color:#FF0000\";">".utf8_decode("Envoyé depuis le site des collectionneurs à deux balles")."</p><p>From <strong>".$name." ".$prenom."</strong></p>".$message).<br /> ini_set( 'display_errors', 1 );<br /> ini_set("SMTP", "SMTP.ovh.com");<br /> ini_set("smpt_port", 465);<br /> error_reporting( E_ALL );<br /> $from = $email;<br /> $to = "contact@roger-bella.eu";<br /> $sujet = utf8_decode($sujet);<br /> $message = $contenu;<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "Reply-To: ".$from." \n";<br /> mail($to, $sujet, $message, $headers);<br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit à la new letter<br /> if ( isset($_POST["news_letter"]) AND ($_POST["news_letter"] == "on") AND ($msg_err == 0) ) {<br /> echo $contenu;<br /> $sujet = utf8_decode("Inscription à la news letter - ");<br /> $message = utf8_decode("Vous êtes maintenant inscrit à ma news letter. Merci pour votre demande et à bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "From: ".$to." \n";<br /> mail($email, $sujet, $message, $headers);<br /> }<br /> // Envoi d'un mail de réponse vers le "client" quand il s'inscrit "au club"<br /> if ( isset($_POST["new_user"]) AND ($_POST["new_user"] == "on") AND ($msg_err == 0) ) {<br /> echo $contenu;<br /> $sujet .= utf8_decode("Autorisation entrée dans les coulisses du site ;-)");<br /> $message .= utf8_decode("Bienue au club ! Envoi de vos IDs par mail de retour. À bientôt<br />");<br /> $headers = 'MIME-Version: 1.0' . "\n";<br /> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";<br /> $headers .= "From: ".$to." \n";<br /> }<br /> mail($email, $sujet, $message, $headers);<br />header("Location: ../index.php?msg_err=".$msg_err."#contact");<br />?><br />[/code]<br /><br />Le mieux serait de passer via un script type phpMailer pour juste mettre le tout en forme et laisser le script la gestion technique.<br /><br />Note : je sais pas si c'est voulu mais le script donnée avez plusieurs erreur (manque de ')' fermant, pas de ; à la fin des fonctions).<br /><br />Cordialement, janus57
Re re merci Janus de ta réponse. Tout cela fonctionne bien. Pas d'erreurs, tout est envoyé, reçu par les uns et les autres, tout se passe bien, je dois encore le blinder (captcha sur form contact et autres scripts secure, et l'éditer sous contrôle de mon prof qui, jusque là, n'a pas vu quelque chose à me faire corriger.
C'est quand même fort de café ce truc ! Imagines que tu envoies une lettre ou tu dis :
"Bonjour monsieur, je m'appelle Claude Dupont, je…"
Et le mec reçoit :
" Bonjour monsieur, je m'appelle 56 avenue du Cheval Blanc 08567 Bréteuil, je… !!!
C'est forcément que quelqu'un a ouvert la lettre et fait que ton nom est devenu ton adresse !!!
Et ce serait à cause d'un ";" à la fin d'une fonction ? Celle qui est concaténée pour former la var $contenu à la ligen 21 ? Je ne crois pas. Tu as bien vu qu'en aucun cas je ne parle de CLUSTER.
En tous cas encore merci pour tes réponses, mais je suis sûr qu'il y a quelque chose, dans "la boîte noire" qui change l'adresse, chez OVH, tout ça parce que le mail est envoyé depuis l'hébergement…
Bonne soirée.
Bonjour,
non comme dit plus haut vous avez juste pas respecter les règles (RFCs) en matière d’environ de mail.
Vous avez de manière arbitraire renommé le champ"from" en "de", ce qu'un serveur ne comprend pas et donc considère qu'il n'y a pas d'adresse d'expéditeur, donc OVH place une adresse par défaut (sans quoi le mail serait purement et simplement refusé).
Je vous invite à lire la doc PHP également sur la fonction mail : https://www.php.net/manual/fr/function.mail.php
Cordialement, janus57
Janus, encore une fois ça marche www.roger-bella.eu/coins , essaye !
J'ai une var "$to" dans un premier temps pour le mail que m'envoie le "client" de mon index.php#contact.
Que dois-je faire pour les mails réponse auto quand le "$to" (moi) devient l'expéditeur ? dire $to = $from; et $email = $to; ? Et ça va changer le fait que mon nom devient mon adresse cluster ?
Bonjour,
je vous laisse regarder le code que j'ai posté avec les bon headers + la doc PHP + vous renseigner sur le fonctionnement des mails.
Cordialement, janus57
Ok ça roule. Super pour le coup de main. Bonne soirée.