[php] entete de mail

Résolu
Delta92 Messages postés 56 Statut Membre -  
Nemoh-Khalifa Messages postés 81 Statut Membre -
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

  1. oberion Messages postés 1255 Statut Membre 249
     
    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
  2. oberion Messages postés 1255 Statut Membre 249
     
    Le "." dans le deuxieme $header ! :)
    1
  3. rpayet
     
    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)
    1
    1. Watsli
       
      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" ;
      
      0
    2. dorian
       
      passe en utf 8
      0
  4. margamas
     
    tu as essayé charset=iso-8859-15 ?
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Delta92 Messages postés 56 Statut Membre 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, @+
    0
  7. rico
     
    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
    0
  8. z
     
    "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...
    0
    1. F
       
      Pourquoi...?
      0
    2. Nemoh-Khalifa Messages postés 81 Statut Membre 5
       
      ?
      0
  9. Nemoh-Khalifa Messages postés 81 Statut Membre 5
     
    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
    0
  10. Delta92 Messages postés 56 Statut Membre 6
     
    Merci Oberion mais je ne saisi pas ta réponse....

    Quel est ce petit truc qui manque ?

    Merci d'avance
    -1
  11. Delta92 Messages postés 56 Statut Membre 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 :"
    -1