IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] envoi d'un mail, problème avec gmail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut [Mail] envoi d'un mail, problème avec gmail
    Bonjour à tous,

    Voilà j'ai créer un email qui envoie une confirmation de commande à la personne qui commande.

    Mon mail marche parfaitement c'est ce qu'il me semblait, parce que je testais avec hotmail.

    Cependant lorsque je me l'envoie à mon autre adresse c'est à dire sur gmail, ca m'affiche le mail avec toutes les balises. D'ou vient le problème? Voici mon code et deux images
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    	$nom = $value['CLIENT_NOM'];
    	$prenom = $value['CLIENT_PRENOM'];
    	$email = $value['CLIENT_EMAIL'];
     
     //$query="SELECT CLIENT_ID, CMD_ID, CMD_NO, PRODUITS_NOM, FK_PRODUITS, LIGNE_CMD_ID, LIGNE_CMD_QTE from commande, client, produits, ligne_commande WHERE CLIENT_ID=FK_CLIENT, PRODUITS_ID=FK_PRODUITS, CMD_ID=FK_CMD";
     
      	//Expéditeur
     
    	$from = 'fanycortat@gmail.com';
     
      //Sujet
         $subject = 'Confirmation de commande N° :';
    	 $subject .= $nocom;
     
       //   message
     
     
     
        // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
     
    	 $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
         //En-têtes additionnels//changer et metter l'adresse du christohpe
        $headers .= "To: ".$prenom." <".$email.">, <fanycortat@gmail.com> \r\n";
        $headers .= 'From: Ackermann & Cie <fanycortat@gmail.com>' . "\r\n";
     
    	$message = "Bonjour,<br><br>";
    	$message .= $prenom ." ";
    	$message .= $nom;
    	$message .= "<br><br>Voici la confirmation de la commande no";
    	$message .= " ". $nocom;
    	$message .= "<br><br><br><u>détail de la commande</u>" ."\r\n";
     
    	$requete="SELECT PRODUITS_NOM, LIGNE_CMD_QTE, PRIX_DE_VENTE FROM commande, produits, ligne_commande WHERE FK_PRODUITS=PRODUITS_ID AND FK_CMD = CMD_ID AND CMD_NO = $nocom";
    	$resultat=mysql_query ($requete);
    	$message .= "<table><tr><td width=100>";
    	$message .= "Nom du produit";
    	$message .= "</td><td width=150>";
    	$message .= "Quantité commandée";
    	$message .= "</td><td width=100>";
    	$message .= "Prix de vente";
    	$message .= "</td></tr>";
     
    	while ($valeur = mysql_fetch_array ($resultat))
    	{
     
    	$nom_p = $valeur['PRODUITS_NOM'];
    	$qte = $valeur['LIGNE_CMD_QTE'];
    	$vente = $valeur['PRIX_DE_VENTE'];
    	$message .= "<tr><td>";
    	$message .= $nom_p. " ";
    	$message .= "</td><td>";
    	$message .= $qte. " ";
    	$message .= "</td><td>";
    	$message .= "CHF" . " ";
    	$message .= $vente.".--";
    	$message .= "</td></tr>";
    	}
    	$message .= "</table>";
    	$message .= "<br><br>";
     
    	$requete1="SELECT CMD_TOTAL FROM commande WHERE CMD_NO = $nocom";
    	$resultat1=mysql_query ($requete1);
    	$valeur1 = mysql_fetch_array ($resultat1);
    	$total = $valeur1['CMD_TOTAL'];
    	$message .="Le montant total de votre commande est de : CHF" ." ";
    	$message .= $total ." ";
    	$message .=".--, TVA comprise ";
     
     
     
    	$message .= "<br><br>Ackermann et cie vous remercie pour votre commande, nous vous contacterons concernant la livraison de la viande. Nous vous rappellons  que le paiement se fait à 30 jours net dès réception de la facture";
     
     
     
     
     
     
         // Envoi
        mail($to, $subject, $message, $headers, $from);

    J'ai mis deux capture d'écran pour voir le problème

    D'avance merci pour l'aide
    Images attachées Images attachées   

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    est-ce que quelqu'un aurait une idée

  3. #3
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    ouin c'est parceque si tu veux l'envoyer sous format html
    il faut que tu lui dise que c'est du html

    une balise <br> dans un message il affiche ca comme du texte

    or voici un ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    $email = "<html><head></head><body><font color=red>Rapport d'erreur</font><br /><br />";
    $email .= "En date du :".$ladate." à : ".$heure."<br />";
    $email .= "<i>Remarqué dans : </i>".$pageErr."<br /><br />";
    $email .= "<b>Rapport :</b><br />".$message."<br /><br />";
    $email .= "<i>Signalé par : <b>".$nomComplet."</b></i><br />---------------------------------------------<br /><br /></body></html>";

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Mais j'ai modifié selon tes conseils et cela n'a absolument rien changé? Pourquoi chez hotmail le mail s'affiche correctement et pas chez gmail...tu peux m'en dire plus...

    Peux-t'on m'aider

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 69
    Par défaut
    Salut,

    Gmail affiche pourtant correctement les mails en HTML...

    Je viens de faire un test... Tu peux essayer de t'inspirer de la source du mail que je me suis envoyé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    From: xxxxx <xxxxxx@gmail.com>
    User-Agent: Thunderbird 1.5.0.5 (X11/20060812)
    MIME-Version: 1.0
    To:  xxxxxxxxxx@gmail.com
    Subject: Test
    Content-Type: text/html; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
      <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
      <title></title>
    </head>
    <body bgcolor="#ffffff" text="#000000">
    <b><big>T</big>est de mail en HTML</b><br>
    <br>
    <div align="center"><font color="#ffcc33">Je suis curieux de voir ce
    que &ccedil;a va donner...</font><br>
    </div>
    </body>
    </html>
    Les lignes auxquelles faire attention sont, je pense, celles-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Content-Type: text/html; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    Autant avoir un document HTML parfaitement conforme aux standards, histoire de s'assurer que ça vient pas de là.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Merci beaucoup je vais tester cela demaine.....sinon je va pêter un plomb.....

    Encore merci et je redonne des nouvelles
    A+

Discussions similaires

  1. E-mail multipart : problème avec GMail
    Par marcleb1 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2010, 22h44
  2. [Mail] envoi d'un mail via la fonction mail() de php
    Par Abac_Angelique dans le forum Langage
    Réponses: 1
    Dernier message: 10/02/2009, 00h46
  3. [Mail] Envoi d'e-mail avec image de fond
    Par mimagyc dans le forum Langage
    Réponses: 4
    Dernier message: 19/12/2007, 21h58
  4. [Mail] Envoi d'e-mail avec pièces jointes
    Par PrinceMaster77 dans le forum Langage
    Réponses: 1
    Dernier message: 25/01/2007, 17h35
  5. Réponses: 6
    Dernier message: 14/11/2006, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo