8768 sujets

Développement web côté serveur, CMS

Pages :
Bonjour,
Lorsqu'on envoie un mail depuis mon site, l'intitulé dans ma boite mail est "CGI-Mailer".
Pouvez vous m'aider à écrire un code où je recevrais l'adresse de l'auteur du mail, plutôt que CGI-Mailer.

Voici le code Php.
Merci pour votre aide
$_SESSION['succes']=1;	
		$message = " ";
		$message .= "Message de ".$_POST['nom']."\r\n";
		$message .= "Mail: ".$_POST['email']."\r\n";
		$message .= "le ".date("d/m/Y - H:i")."\r\n";
		$message .= "=============================================== "."\r\n";
		$message .= $_POST['message']."\r\n";
		$message .= "================================================"."\r\n";
              $headers = 'From: ' .$_POST['nom']. "\r\n" .
              'Reply-To: '.$_POST['email']. "\r\n" .
              'X-Mailer: PHP/' .phpversion(). "\r\n" .
              'Content-Type: text/plain; charset="utf-8"' . "\r\n" .
              'Content-Transfer-Encoding: 8bit';

		mail('XXXXX@hotmail.fr','commentaire de mon site', $message);
		header('Location: contact.php');
			}	
			}

Modifié par abeille (09 Sep 2016 - 13:58)
Bonjour,

Tu ne semble pas envoyé la variable $hedear dans ton mail.

essaye ceci :
 mail('XXXXX@hotmail.fr', 'commentaire de mon site', $message, $header); 

Tu trouveras aussi des infos sur cette fonction ici fonction mail de php
Salut, salut,

gandalfblanc a écrit :

Tu ne semble pas envoyé la variable $hedear dans ton mail.
Ce n'est pourtant pas faute de lui avoir expliqué maintes et maintes fois.

Quand ça ne veut pas rentrer dans la caboche...
gandalfblanc a écrit :
Bonjour,

Tu ne semble pas envoyé la variable $hedear dans ton mail.

essaye ceci :
 mail('XXXXX@hotmail.fr', 'commentaire de mon site', $message, $header); 

Tu trouveras aussi des infos sur cette fonction ici fonction mail de php

adio gandlflblanc, merci pour ton aide, mais avec
**mail('lanorey@hotmail.fr','commentaire de mon site', $message; $header);**
ça me renvoie ceci:
Parse error: syntax error, unexpected ';' in /homepages/8/d621377655/htdocs/accueil/france/traitement.php on line 46
Modifié par abeille (09 Sep 2016 - 14:44)
il faut lire l'erreur abeille Smiley smile

elle te dit que tu as un ";" en trop quelque part dans la ligne... si tu relis, tu le verra Smiley smile



Indice : (les séparateurs d'arguments ce sont les virgules!)
Modifié par JENCAL (09 Sep 2016 - 14:49)
Greg_Lumiere a écrit :
Salut, salut,

Ce n'est pourtant pas faute de lui avoir expliqué maintes et maintes fois.

Quand ça ne veut pas rentrer dans la caboche...
Ah, la légendaire mémoire de Greg_lumière!
Toute l'après midi à chercher d'où vient le problème et je ne trouve pas.
Aidez moi Ô Alsacreation Tout Puissant!

Je ne sais plus quoi faire!

voici mon dernier code Php:
$message = " ";
		$message .= "Message de ".$_POST['nom']."\r\n";
		$message .= "Mail: ".$_POST['email']."\r\n";
		$message .= "le ".date("d/m/Y - H:i")."\r\n";
		$message .= "=============================================== "."\r\n";
		$message .= $_POST['message']."\r\n";
		$message .= "================================================"."\r\n";


		$destinataire = 'lanorey@hotmail.fr';
		$expediteur = $email;
 
		$headers  = 'MIME-Version: 1.0' . "\n"; 
		$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n";  
		$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
		$headers .= 'From:'.$expediteur.'>'."\n"; 
		$headers .= 'Delivered-to: '.$destinataire."\n"; 
       
		mail($destinataire, $objet, $message, $headers);
		header('Location: contact.php'); 
			}	
			}

Merci pour votre aide!
c'est quoi ton erreur maintenant ? toujours la même ? ou juste tu ne reçois rien (peut être dans les spam ?)
Adio Jencal,
mon erreur est presque résolue, mais c'est pas encore ça:
Je reçois bien les mails, mais dans la boite de réception, je reçois l'adresse mail de l'expéditeur, au lieu de son nom.
http://zupimages.net/up/16/37/qq36.jpg

Bon, voici le code PHP;
$_SESSION['succes']=1;
		$message = " ";
		$message .= "Message de ".$_POST['nom']."\r\n";
		$message .= "Mail: ".$_POST['email']."\r\n";
		$message .= "le ".date("d/m/Y - H:i")."\r\n";
		$message .= "=============================================== "."\r\n";
		$message .= $_POST['message']."\r\n";
		$message .= "================================================"."\r\n";
		
		$headers  = 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";	
		$headers .= 'From: <'.$email.'>'."\r\n\r\n";
		
		mail('lanorey@hotmail.fr','Commentaire de mon site', $message, $headers);
		header('Location: contact.php');

Merci pour ton aide.
en même temps, si tu met
$headers .= 'From: <'.$email.'>'."\r\n\r\n";

"From email"

tu risque pas d'avoir le nom.

Est ce que ce code est clair pour toi ? j'veux dire, est ce que tu comprends tout ce que tu fais quand tu code du php ? parce que c'est très important de comprendre ce que l'on fait. Et surtout de relire...
Car là, en deux postes, les seules erreurs c'est parce que tu n'a pas "lu" le code.

Si tu reçois pas le nom et que tu reçois l'email, cela vient forcément de quelque part, du coup il faut se poser les bonnes questions :

- Est ce que j'ai mal utilisé ma variable ?
- Quels sont les endroits où, dans ce cas précis, la variable mail est utilisé ?
- Quel est l'endroit (le code) où on renseigne le nom de l'expediteur ?
- etc...
Modifié par JENCAL (13 Sep 2016 - 10:04)
non, le code que j'ai écrit n'est pas encore clair pour moi. Je l'avoue.
Mais je galère pas mal avec les concaténations, les /, les ", les ', comment agencer tout ça.

Alors, j'ai bien mis
$headers .= 'From: <'.$nom.'>'."\r\n\r\n";
, mais alors je ne peux plus répondre directement au mail, il faut que je réécrive l'adresse mail dans la boite d'envoi.

Non franchement, cette partie du PHp n'est pas évidente.
C'est pourquoi j'ai besoin d'un petit coup de pouce!
Merci
Oui, c'est normal , si tu met que le nom tu ne peux plus répondre...

il faut faire comme cela.

From: Le nom <adresse@example.net>


plus précisément :

$headers .= 'From: '.$nom.'<'.$email.'>'."\r\n\r\n";
Modifié par JENCAL (13 Sep 2016 - 14:14)
JENCAL a écrit :
Oui, c'est normal , si tu met que le nom tu ne peux plus répondre...

il faut faire comme cela.

From: Le nom &lt;adresse@example.net&gt;


plus précisément :

$headers .= 'From: '.$nom.'&lt;'.$email.'&gt;'."\r\n\r\n";

YESSSSSSSSSSSS,
c'est parfait. Merci.
Ma difficulté c'était en fait la syntaxe, comment placer les \, les', les ", et les . comme il faut.
Merci ça devient plus clair maitenant.
Aplus
Non, c'est pas encore résolu! Désolé.

Pourquoi je n'arrive pas à avoir un retour à la ligne après la date?

$message = "Message de ".$_POST['nom']."\r\n";
$message .= "le ".date("d/m/Y - H:i")."\r\n";
$message .= $_POST['message']."\r\n";
		
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";	
$headers .= 'From: '.$nom.'<'.$email.'>'."\r\n\r\n"; 
		
mail('lanorey@hotmail.fr','demande d\'informations', $message, $headers);
		header('Location: contact.php');

Meeerci!
Modérateur
a écrit :
Le body d'un mail c'est du HTML...


Non, enfin seulement si on l'a décidé ainsi.
Au vu du contenu, je serais plutôt d'avis de le garder en texte brut:

Content-type: text/plain; (au lieu de text/html comme maintenant)
Justement, il l'a décidé en mettant Content-type: text/html;

j'aurais du dire "le body de ton mail" au lieu de "le body d'un mail"
Modifié par JENCAL (14 Sep 2016 - 16:25)
JENCAL a écrit :
Justement, il l'a décidé en mettant Content-type: text/html;

j'aurais du dire "le body de ton mail" au lieu de "le body d'un mail"
Mais non c'est pas du Html, puisque ma page est enregistrée en Php et le code de la première ligne est bien: <?php

Pas facile ce Péachepé!
Merci pour votre aide quand même.
lol
je parle du message qui part (le mail quoi)

tu as mis :
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
JENCAL a écrit :
lol
je parle du message qui part (le mail quoi)

tu as mis :
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";


Ok, mais c'est dans le $headers, donc après $messages.
Un <br /> ne fonctionnerait pas.
A moins de mettre ça dans $message?
Pages :