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 :

probleme envoie mail codage caractere


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut probleme envoie mail codage caractere
    Bonjour,
    j'ai une page php qui envoie par mail le contenu d'un catalogue que l'internaute choisie dans cette page ( via un formulaire )

    sur des webmail comme hotmail.com ça marche la liste du catalogue contenue dans la base s'affiche bien dans le mail mais quant je reçois dans thunderbird l'affichage du contenue de la base s'affiche avec des caractères bizarre

    voici la partie du code qui envoie le mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $headers ="From : ". $_POST['agence'] ."@site.com";
         $headers .='Content-Type: text/html; charset=utf-8"'."\n";
         $headers .="Content-Transfer-Encoding: 8bit"; 
    	if(mail_attach($to, $subject, $headers  ,$message_html ,  "", "")) {
     
    {
    		$mail_sent = 1;
    quant je reçois le mail, comme expéditeur j'ai ceci

    From : test@site.comContent-Type: text/html; charset=utf-8" Content-Transfer-Encoding: 8bit

    merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Points : 51
    Points
    51
    Par défaut
    salut

    repasse le charset en iso standard

    bon code

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    j'ai mis

    $headers .='Content-Type: text/html; charset=iso-8859-1"'."\n";

    rien ne change
    ça marche bien dans gmail ou hotmail les accents s'affiche nickel et ça, met dans le sujet du mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    From : <a href="mailto:ddddddddd@site.comCon">ddddddddd@site.comCon</a>tent-Type: text/html; charset=iso-8859-1" Content-Transfer-Encoding: 8bit
    par contre dans thunderbird les accents sont pas correct
    santée s'affiche Santé

    et le sujet du mail pareil que plus haut

    à savoir que dans la base les accents sont petés aussi ( suite importation foireuse de la base )

    merci de votre aide

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    j'ai un peu changé mais meme probleme , ça affiche bien les caractères des données de la base sur des webmail ( hotmail , gmail ) mais dans la partie sujet du mail j'ai ceci

    vous offre ces informations MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original Content-Transfer-Encoding: 8bit Reply-To:

    et quant je reçois dans outlook ou thunderbird l'affichage des données de la base s'affichent avec des mauvais caractères et le sujet du mail s'affiche comme plus haut soit

    vous offre ces informations MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original Content-Transfer-Encoding: 8bit Reply-To:

    voici le code

    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
    <?php
    //mail a proprement dit
    	$to = $_POST['client'];
    	$subject = " ". addslashes($_POST['agence']) ." vous offre ces informations";
    	$message_html = "
    	ICI MESSAGE D'INTRODUCTION DU  TEXTE EN HTML
    	";
     
    	$message_html .= "<p>";
    	$message_html .= @$link_villi; // affichage dans le message  des donnes selectionné dans la base par le formulaire d'envoi du mail
    	$message_html .= "<br><br>";
    	$message_html .= @$link_paysi; // affichage dans le message des donnes selectionné dans la base par le formulaire d'envoi du mail
    	$message_html .= "<br><br>";
    	$message_html .= @$link_conti; // affichage dans le message des donnes selectionné dans la base par le formulaire d'envoi du mail
    	$message_html .= "</p>";
     
     
    $headers = "From : ". $_POST['agence'] ."";
    $headers = "MIME-Version: 1.0\n";
    $headers .= 'Content-Type: text/html; charset=utf-8"'."\n";
    $headers .= 'Content-Transfer-Encoding: 8bit' . " \n"; 
    $headers .= "reply-type=original\n";
    $headers .= "Content-Transfer-Encoding: 8bit\n";
    	if(mail_attach($to, $subject, $headers  ,$message_html ,  "", "")) {
     
    		$mail_sent = 1;
     
    	}
    	else $mail_sent=2;
     
    }
    ?>
    merci de votre aide

  5. #5
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    utilise plutôt phpMailer pour l'envoi d'e-mails compliqués :
    http://jcrozier.developpez.com/tutor...eloppeurs/#LIV

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    je connais phpmailer , je l'ai utilisé pour un autre site,ça marche bien. je vais peut être l'utiliser pour cette page

    mais je voulais savoir pourquoi dans le subject du mail il me met les info d'entête de la page
    MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original Content-Transfer-Encoding: 8bit Reply-To:

    ... sans doute parce qu'il y'a une erreur de syntaxe dans le script.
    j'ai l'impression que ça envoie le mail sans les infos du header en lien avec le codage des caractères, ça marche sur des webmail qui doivent être par défaut en utf8 mais dans outlook ou thunderbird ça dépend du réglage fait par l'internaute, quant c'est en iso latin les caractères sont pétés . en utf8 ça marche bien ( sauf le subject qui affiche les info de header )

    encore merci pour toute aide que vous pourriez apporter

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    en regardant le script j'ai vu que la variable mail_attach appelait une fonction qui je pense est une classe phpmail , du coup les lignes que j'ai ajouté pour formater le header faisait doublon.
    donc maintenant le sujet du mail est nickel par contre toujours ce problème quant on reçoit le mail dans outlook ou thunderbird , si le soft de mail est configuré en iso latin ça affiche le contenu de la table mysql avec des caractères pétés . Si on met le codage ( dans outlook ou thunderbird ) en utf 8 ça affiche bien, même si dans la fonction phpmail je met en iso latin ou utf8 ça change pas..

Discussions similaires

  1. [XL-2003] Probleme envois mail depuis un userform
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/12/2009, 14h34
  2. Probleme envoi mail
    Par jobar38 dans le forum VBScript
    Réponses: 4
    Dernier message: 12/03/2009, 14h32
  3. probleme envoi mail
    Par popofpopof dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/06/2007, 09h51
  4. [Automation]Probleme Envoi Mail
    Par Clemiou dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/04/2007, 17h15
  5. [Mail] probleme envoie mail
    Par phoeniix07 dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2006, 14h35

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