Posez votre question Signaler

[php] entete de mail [Résolu]

Delta92 56Messages postés 11 mars 2004Date d'inscription - Dernière réponse le 9 sept. 2009 à 21:18
Bonjour,
j'ai un formulaire qui envoie un mail en passant par un fichier contact.php qui tourne bien. Lorsque je suis chez Free.fr ou Ovh, le mail que je recois porte l'entete de mon compte chez le Fai, c'est ok.
Le problème : Je suis hebergé maintenant chez 1and1.fr et là quand je recois un mail provenant du formulaire, le champ "De :" contient "CGI-Mailer". Le support de l'hebergeur me dit qu'il faut modifier une variable dans la fonction mail mais sans me dire laquelle....
Code:
<?php
$votre_societe=$_POST['Name'];
$votre_nom=$_POST['Name1'];
$mail=$_POST['Email'];
$votre_message=$_POST['Comment'];
$recipient_email='contact@imagitem.com';
$subject = "Suite à la visite sur le site ";
$headers = "From " . $votre_nom;
$headers = 'Content-type: text/html; charset=iso-8859-1';
//$content ="<html><head><title> Contact commercial</title></head><body><br>";
$content .="Monsieur ou Madame : <b>" . $votre_nom ."</b><br>";
$content .="de la societé : <b>" . $votre_societe ."</b><br>";
$content .="Email : <b>" . $mail ."</b><br><hr><br>";
$content .= $votre_message;
$content .="<br></body></html>";
mail($recipient_email,$subject,$content,$headers);
?>
Help
Didier
Lire la suite 

[php] entete de mail »

12 réponses
Réponse
+1
moins plus
Bonjour,
C'est le champs 'FROM'. Dans ton script, il manque un tout petit truc. Ta variable $header ne contient que content-type.

$headers = "From " . $votre_nom;
$headers .= 'Content-type: text/html; charset=iso-8859-1';
Ajouter un commentaire
Réponse
+1
moins plus
Le "." dans le deuxieme $header ! :)
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour ,

C'est juste qu'après ton "From ...." t'as oublié les 2 points , ce qui donne:

"From : emetteur"


DE PLUS, en fin d'une ligne header, ill te faut rajouter un saut de ligne, à savoir:
"\n" ou "\r" ou "\n\r" l'un des 3.

Exemple:
$headers = "From :" . $votre_nom."\n";
$headers = 'Content-type: text/html; charset=iso-8859-1'."\n";




;o)
Watsli - 24 mars 2009 à 10:41
Salut salut,...
Je poste sur ce sujet parce que ça correspond assez.

J'ai fais un formulaire d'envoi de mail en PHP, le problème c'est qu'il ne m'affiche pas
correctement les caractères accentués. J'ai déjà testé beaucoup de choses entre
UTF-8 et ISO-8859-1 mais rien à faire. Je suis bien paumé là.

Voilà ce que j'ai :

$message = $_POST[txtmsg]."\n\n\nEnvoyé par : \n\n".$_POST[nom]." ".$_POST[prenom]."\n".$_POST[adresse]."\n".$_POST[ville]."\n".$_POST[phone]." " ;
                                       
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
    $headers = "From: ".$from."\n" ;
    $headers.= "Reply-To: ".$from."\n" ;
    $headers.= "X-Mailer: PHP/".phpversion()."\n" ;
Ajouter un commentaire
Réponse
+1
moins plus
tu as essayé charset=iso-8859-15 ?
Ajouter un commentaire
Réponse
+0
moins plus
Ok. Bon je dois me gourassionné quelque part.
Cette page (officielle) sera plus précise que moi: http://fr.php.net/manual/fr/ref.mail.php
Ajouter un commentaire
Réponse
+0
moins plus
Merci, j'ai trouvé ca au fin fond de la page :

$to = 'bob@barnyard.com';
$subject = 'Wakeup bob!';
$message = '<b>yo</b>, whassup?';
$headers = "From: server@barnyard.com\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";

// Send
mail($to, $subject, $message, $headers);


Une fois adapté, ca marche !!!

MErci, @+
Ajouter un commentaire
Réponse
+0
moins plus
Salut

Des specialistes des emails ?

J'ai une question: des guguss ou des pi'ates s'inscrivent sur mon forum avec un login de style email ex: login georgette@toto.fr avec pour adresse mail la même.

Résultat nous recevons sur tous les comptes des forumeurs des emails non demandes avec l'adresse du forum, a part le bannissement que puis je faire ?

Merci du coups de main
Ajouter un commentaire
Réponse
+0
moins plus
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";

ça choque personne depuis plus d'un an...
F - 6 juil. 2008 à 11:14
Pourquoi...?
Ajouter un commentaire
Réponse
-1
moins plus
Merci Oberion mais je ne saisi pas ta réponse....

Quel est ce petit truc qui manque ?

Merci d'avance
Ajouter un commentaire
Réponse
-1
moins plus
ok merci, j'ai essayé :

Voilà ce que je recois dans le corps du mail :

From totoContent-type: text/html; charset=iso-8859-1

:-((

et j'ai tjrs "Cgi-Mailer" en entete "de :"
Ajouter un commentaire
Ce document intitulé « [php] entete de mail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook