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

Composants VCL Delphi Discussion :

[indy SMTP] mail avec des accents


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut [indy SMTP] mail avec des accents
    Bonjour

    J'essaye désespérément d'envoyer un mail avec des accents dans le sujet et le corps mais rien à faire. Je souhaite éviter l'html

    J'ai bien entendu tester plusieurs solutions mais je dois m'emmêler les pinceaux quelque part !

    Voici le bout de code qui envoie le mail. Celui-ci est bien reçu (orange ou gmail) mais les accents ne passent pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      idMes.Recipients.Add.Address := 'mon@adresse.mail';
      idMes.Encoding := mePlainText;
      idMes.ContentType := 'plain/text';
      idMes.CharSet := 'ISO-8859-1';
      idMes.Subject := 'test àà';
      idMes.Body.Text := 'test avec des éàè';
      idSMTP.Connect;
      idSMTP.Send(idMes);
      idSMTP.Disconnect;
    Auriez-vous la bonne combinaison pour le paramétrage ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour
    Citation Envoyé par jlderrien Voir le message
    J'ai bien entendu tester plusieurs solutions mais je dois m'emmêler les pinceaux quelque part !
    En effet...
    Voici quelques corrections à apporter au code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //...
      idMes.Encoding := meMIME; // mePlainText;
      idMes.ContentType := 'text/plain'; // 'plain/text';
      //...
      // Eventuellement penser à rajouter
      idMes.From.Address := 'emetteur@adresse.mail';
      //...
    Cela devrait marcher nettement mieux...
    --
    Philippe.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Merci à toi pour cette réponse.

    Mais pas mieux. Le mail passe correctement, le sujet et le corps sont là mais sans les accents. J'obtiens donc 'test aa' pour le sujet et 'test avec des eae' pour le corps.

    Je sens que ça va me pourrir la fin 2012 cette histoire

    Cordialement

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Pris d'un doute, je viens de reprendre l'exemple et de m'envoyer un message sur mes boites voila.fr, free.fr et gmail.com et je reçois le message correctement accentué (titre et corps).
    Seul GMail me pourrit la fin du corps du message si je laisse éàè et que je n'intercale pas des espaces.

    N'y a-t-il pas un autre traitement dans l'application (des évènements) qui modifie le contenu avant envoi ?
    --
    Philippe.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      idMes.ContentType := 'text/plain;charset=iso-8859-1';
      idMes.ContentTransferEncoding := 'base64';
      idMes.Subject := 'fédération';
      idMes.Body.Text := 'un corps de message avec des éàè';
    Dans ce cas le sujet n'a pas d'accents mais le corps du message a bien ses accents.

    Et pour répondre à ta question, non aucun traitement avant l'envoi

    ça progresse !

  6. #6
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par jlderrien Voir le message
    Si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      idMes.ContentType := 'text/plain;charset=iso-8859-1';
      idMes.ContentTransferEncoding := 'base64';
      idMes.Subject := 'fédération';
      idMes.Body.Text := 'un corps de message avec des éàè';
    Dans ce cas le sujet n'a pas d'accents mais le corps du message a bien ses accents.

    Et pour répondre à ta question, non aucun traitement avant l'envoi

    ça progresse !
    le titre et le corps sont encodés séparément, j'ai étudié tout cela en son temps

    par exemple le titre "Re: Ménage" pourra être codé : "Subject: Re: =?ISO-8859-1?Q?m=E9nage?="...reste à savoir comment Indy gère cela

    manifestement "ContentTransferEncoding" correspond au contenu, pas au titre.

    tu peux essayer de mettre idMes.Subject := '=?ISO-8859-1?Q?f=E9d=E9ration?=';, l'encodage remplace simplement les lettres accentuées par =XX où XX est la valeur hexa du code ascii.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Bonjour

    Effectivement cela fonctionne en encodant de cette manière le sujet du mail.

    En mixant cette technique et le "ContentTransferEncoding := 'base64';" j'arrive à envoyer un mail avec accents !

    Merci à tous les 2 pour votre aide.

    Paul, je regarde le lien que tu as indiqué.

    Cordialement

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

Discussions similaires

  1. Export de table avec des accents
    Par AODRENN dans le forum Excel
    Réponses: 1
    Dernier message: 24/05/2007, 11h57
  2. Export de table avec des accents
    Par AODRENN dans le forum Outils
    Réponses: 3
    Dernier message: 16/05/2007, 21h21
  3. [Mail] Afficher un mail avec des images
    Par BlacKou dans le forum Langage
    Réponses: 13
    Dernier message: 05/11/2006, 11h31
  4. Mauvais tri des String avec des accents
    Par lbreuillard dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/09/2005, 12h21
  5. Recherche avec des accents!?
    Par mona dans le forum Access
    Réponses: 3
    Dernier message: 14/06/2005, 20h36

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