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

Windows Forms Discussion :

Problème avec des ? dans les emails au lieu de symbole (accents et caractères spéciaux)


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut Problème avec des ? dans les emails au lieu de symbole (accents et caractères spéciaux)
    Bonjour, j'envoie mes mails avec le code html compris dans mon WebBrowser, mais parfois (pas tout le temps donc), il arrive que je reçoive un email où les accents et les caractères spéciaux sont remplacés par un point d'interrogation. Quelque soit l'adresse de messagerie (donc aussi bien réception sous Outlook que sous Hotmail).

    Comment puis-je réparer cela?

    Merci.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    Il y a peut être un souci au niveau de l'encodage des ton email qui est différent de celui de ta page.

  3. #3
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Il faudrait surtout savoir comment tu envoies cet e-mail, quelle classes utilises-tu?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    Lorsque je clique sur le bouton pour envoyer :
    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
    private void btTestEnvoiMail_Click(object sender, EventArgs e)
            {
                //Le contenu :
                mail.Body = Head() + "<CENTER>" + webBrowser1.Document.Body.InnerHtml + "</CENTER></BODY></HTML>";
                //La personne qui envoit :
                mail.From = new MailAddress(Paramètres.from);
                //Celui qui reçoit :
                mail.To.Clear(); //Efface la liste des "A envoyer".
                mail.To.Add(Paramètres.toTest);
                //L'objet :
                mail.Subject = NewsletterNumerotoolStripLabel.Text + NewsletterNumerotoolStripTextBox.Text + DutoolStripLabel.Text + DatetoolStripTextBox.Text;
                //Pour pouvoir utiliser le HTML :
                mail.IsBodyHtml = true;
                //Le serveur qui permet d'envoyer les mails :
                SmtpClient smtp = new SmtpClient();
                smtp.Host = Paramètres.host;
     
                //Envoi des mails :
                try
                {
                    smtp.Send(mail);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Une erreur est survenue lors de l'envoi des mails.\n" + ex.Message, "Light - Newsletter");
                }
                smtp.Dispose();
            }
    La classe Head() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private String Head()
            {
                return "<!DOCTYPE HTML PUBLIC \" -//W3C//DTD HTML 4.0 Transitional//EN\"><HTML><HEAD><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\">" +
                    "<TITLE>Newsletter OrdiPlus.be</TITLE><META name=GENERATOR content=\"MSHTML 8.00.7600.16625\"><STYLE> P {margin:0px;}</STYLE></HEAD><BODY>";
            }

  5. #5
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Problème d'encodage à ce moment. Tu forces l'encodage à "iso-8859-1" dans ton header au lieu d'utiliser celui du de la page HTML que tu as récupérée dans ton webBrowser1. Il se peut donc, qu'a certains moments, l'encodage diffère.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    Que dois-je faire pour que cela marche?

  7. #7
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Ce que j'ai dis dans mon message précédent, récupérer le type d'encodage de la page HTML que tu télécharges via ton objet browser et l'utiliser en lieu et de place du type d'encodage écrit en dur dans ton header d'e-mail.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    C'est moi qui crée la page avec le WebBrowser, donc je ne télécharge pas de pages :s

  9. #9
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Dans ce cas, assures toi que celle-ci soit avec le même encodage que ton e-mail.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    J'ai essayé en remplaçant l'ancien meta par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
    Mais dans le code source c'est pareil, cette meta n'apparait pas. Et en mettant un € dans la page, j'obtient € à la place...

    Comment savoir quelle meta mettre? Et bien sûr, qu'elle apparaisse.

  11. #11
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Citation Envoyé par Nadiya Voir le message
    Et en mettant un € dans la page, j'obtient € à la place...
    Le symbole euro n'est pas dans "iso-8859-1" mais dans "iso-8859-15":
    http://fr.wikipedia.org/wiki/ISO_8859-1

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    J'ai essayé avec iso-8859-15, mais pareil, la meta n'est pas affichée, pourtant l'autre l'est (<META name=GENERATOR content="MSHTML 8.00.7600.16625">)

  13. #13
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Tu as essayé avec la fonction toute faite HtmlEncode ?
    Pour l'utiliser n'oublies pas de rajouter la reference "System.Web.dll"
    using HttpUtility;

Discussions similaires

  1. Problème avec closeCursor() dans les boucles
    Par Gordibach dans le forum Langage
    Réponses: 1
    Dernier message: 08/09/2011, 23h05
  2. Importer 1 Fichier CSV avec des ";" dans les champs
    Par opaillon dans le forum Import/Export
    Réponses: 3
    Dernier message: 15/01/2009, 14h23
  3. problème avec "formatString" dans les balises xml
    Par k750_b dans le forum Alimentation
    Réponses: 0
    Dernier message: 17/06/2008, 11h04
  4. Problème avec des bords phantomatiques dans un IFRAME
    Par spacexion dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/07/2007, 17h46
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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