[php] entete de mail [Résolu/Fermé]

Signaler
Messages postés
54
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
Messages postés
76
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
25 juillet 2014
-
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

11 réponses

Messages postés
1253
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
29 septembre 2007
248
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';
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
1253
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
29 septembre 2007
248
Le "." dans le deuxieme $header ! :)
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)
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" ;
passe en utf 8
tu as essayé charset=iso-8859-15 ?
Messages postés
1253
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
29 septembre 2007
248
Ok. Bon je dois me gourassionné quelque part.
Cette page (officielle) sera plus précise que moi: https://www.php.net/manual/fr/ref.mail.php
Messages postés
54
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
27 janvier 2008
6
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, @+
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
"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...
Messages postés
76
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
25 juillet 2014
3
?
Messages postés
76
Date d'inscription
mardi 10 juin 2014
Statut
Membre
Dernière intervention
25 juillet 2014
3
Désolé de détérré le sujet mais j'ai un probleme:

- si je ne met pas le headers tout est nickel, sauf le "De:" avec ce fameux CGI
- si je met le headers, j'ai donc le "De:" que je veux, seulement le message n'est plus composer comme je le souhaiterais.

En gros:

-si je ne met pas le headers, le message que je recoit est composé de tel sorte:
Formulaire de contact venant de www.xxx.com
Nom: Dupont
Prénom: Toto
Ville: Paris
- si je met le headers, le message s'envoie comme ci-dessous:
Formulaire de contact venant de www.xxx.com Nom: Dupont Prénom: Toto Ville: Paris

Voila si quelqu'un peut m'aider parce que vraiment la j'ai du mal
Messages postés
54
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
27 janvier 2008
6
Merci Oberion mais je ne saisi pas ta réponse....

Quel est ce petit truc qui manque ?

Merci d'avance
Messages postés
54
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
27 janvier 2008
6
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 :"