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] Fonction mail: mail reçu mais illisible.


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut [Mail] Fonction mail: mail reçu mais illisible.
    Bonjour,

    J'utilise le code ci-dessous pour envoyer un mail avec php

    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
     
    <?php
    $mail = 'xxxxxx@xxxx.net';
    $titre = 'message de test';
     
    $message = '
    		<html>
    			  <head>
    			   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    			   <meta http-equiv="Content-Language" content="fr">
    			   <title>Mon message test.</title>
    			  </head>
    			
    			  <body>
    				<p>Contenu de mon message test</p>		
    			 </body>
    			 
    		</html>';
     
    		// Parametre pour envoie du mail au format html.
    		$headers = "MIME-Version: 1.0\r\n";
    		$headers .= "content-type: text/html; charset=utf-8\r\n";
     
    		// D'autres en-têtes : errors, From cc's, bcc's, etc :
    		$headers .= 'From: Stages de recuperation de points <yyyyyyy@xxxx.net>\r\n';
     
    		//envoi du mail :
    		mail($mail, $titre, $message, $headers);
     
    		echo 'message envoyé';
    ?>
    Je reçois bien le mail mais ça affiche ceci :

    Mime-Version: 1.0 Content-Transfer-Encoding: BASE64 CgkJPGh0bWw+CgkJCSAgPGhlYWQ+CgkJCSAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KCQkJICAgPG1ldGEgaHR0cC1l cXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZnIiPgoJCQkgICA8dGl0bGU+TW9uIG1l c3NhZ2UgdGVzdC48L3RpdGxlPgoJCQkgIDwvaGVhZD4KCQkJCgkJCSAgPGJvZHk+CgkJCQk8cD5D b250ZW51IGRlIG1vbiBtZXNzYWdlIHRlc3Q8L3A+CQkKCQkJIDwvYm9keT4KCQkJIAoJCTwvaHRt bD4=
    Quelles peuvent-être les causes de ce problème, je ne sais pas où chercher ?

    Auriez-vous une idée?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut
    Merci pour le lien, cela ma bien aidé a comprendre le principe.

    Cependant ça ne marche toujours pas.
    Je veux envoyer le mail aux formats text et HTML.

    Voici la partie du code qui envois le mail.

    Voyez vous ce qui ne va pas, manque t-il quelques chose ?

    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
     
    /* Destinataire (votre adresse e-mail) */
    $to = 'moi@free.fr';
     
    $message_texte = 'Bonjour,'."\r\n\r\n";
    $message_texte .= $message . "\r\n";
     
     
    $message_html = '<html>'."\r\n";
    $message_html .= '<head>'."\r\n";
    $message_html .= '<title>Le titre de mon message</title>'."\r\n";
    $message_html .= '</head>'."\r\n";
    $message_html .= '<body><p>' . $message . '</p></body>'."\r\n";
    $message_html .= '</html>'."\r\n";
     
    //Genere la frontiere du mail entre texte et html
    $boundary = md5(uniqid(microtime(), TRUE));
     
    // En-têtes de l'e-mail		
    $headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
    $headers .= 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-Type: multipart/alternative; boundary="'.$boundary.'"'."\r\n";
    $headers .= "\r\n";
     
    // Le message texte.
    $msg .= $message_texte."\r\n\r\n";
     
    // Le message html.
    $msg .= '--'.$boundary."\r\n";		
    $msg .= 'Content-type: text/html; charset=utf-8'."\r\n\r\n";
    $msg .= $message_html."\r\n";		
     
    $msg .= '--'.$boundary."\r\n";		
     
    /* Envoi de l'e-mail */
    if (mail($to, $sujet, $msg, $headers))
    {
    	$alert = 'E-mail envoyé avec succès';
     
    	/* On créé un cookie de courte durée (ici 120 secondes) pour éviter de renvoyer un mail en rafraichissant la page */
    	setcookie("sent", "1", time() + 120);
     
    	/* On détruit la variable $_POST */
    	unset($_POST);
    }
    else
    {
    	$alert = 'Erreur d\'envoi de l\'e-mail';
    }
    En local je recois le mail vide. (page blanche)

    En ligne, je reçoi ceci:
    Mime-Version: 1.0
    Content-Type: multipart/alternative; boundary="71d1264cb5c2479c1e3f2a3b1885253f"

    Mime-Version: 1.0
    Content-Transfer-Encoding: BASE64

    Qm9uam91ciwNCg0KdGVzdA0KDQoNCi0tNzFkMTI2NGNiNWMyNDc5YzFlM2YyYTNiMTg4NTI1M2YN
    CkNvbnRlbnQtdHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04DQoNCjxodG1sPg0KPGhlYWQ+
    DQo8dGl0bGU+TGUgdGl0cmUgZGUgbW9uIG1lc3NhZ2U8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+
    PHA+dGVzdDwvcD48L2JvZHk+DQo8L2h0bWw+DQoNCi0tNzFkMTI2NGNiNWMyNDc5YzFlM2YyYTNi
    MTg4NTI1M2YNCg==

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Réponse au pb posé
    As-tu trouvé une réponse au problème posé ?

    J'ai le même problème.

    Voir http://forums.fedora-fr.org/viewtopi...367747#p367747

    Merci

    Chdid

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Avec quoi lisez vous vos mails ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Avec Gmail.

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Je dirais qu'il y 'a un soucis avec les entetes , le mail est visiblement en MIME multiparts mais le lecteur n'a pas l'air de le reconnaitre ainsi ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    AU passage l'utilisation d'une librairie comme PHPMAiler evite bien des soucis
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Effectivement, mais je ne sais pas où toucher.

    C'est sur un serveur dédié avec Fedora + Postfix.

    Est-ce que c'est postfix qui code mal l'entête, je ne sais pas !

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    J'ai également essayé phpmailer. Cela me fait la même chose.

  11. #11
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Je ne sais pas si cela peut aider, moi j'utilise ceci (qui marche).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function to_send_html_mel($arg_TO,$arg_FROM,$arg_middle_corps,$arg_subject, $arg_body_style=null )
    {
    	   // Envoi du mail de confirmation au futur abonné
    	   // on prépare le corps du message
    	   $corps="<HTML><BODY ".$arg_body_style." >".$arg_middle_corps."</BODY></HTML>";
    	   // On paramètre les autres infos avant envoi
    	   $h = 'MIME-Version: 1.0' . "\r\n";
    	   $h.= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
    	   $h.= "From: ".$arg_FROM."\r\n";
    	   return mail($arg_TO,$arg_subject, $corps, $h);
        	//-------------------------------------------------------------
    }

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut [resolu]
    Bonjour,


    J'ai enfin trouvé la solution.

    J'ai essayé avec une autre version de PHPmailer et cette fois-ci, c'est tout bon.

    http://www.exinsidephp.com/scripts_p...phpmailer.html

    merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alias pour mail émetteur mail fonction PHP mail
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 22/08/2010, 20h06
  2. Réponses: 5
    Dernier message: 16/02/2009, 09h23
  3. [Mail] Fonction e-mail et fournisseur d'accès
    Par tarzanjane dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2008, 10h45
  4. Serveur mail: fonction sendmail
    Par calfater dans le forum Réseau
    Réponses: 2
    Dernier message: 11/01/2007, 02h05
  5. Réponses: 5
    Dernier message: 29/10/2005, 16h44

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