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

Web & réseau Delphi Discussion :

Perte de point dans un TidMessage


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut Perte de point dans un TidMessage
    J'envoie un mail en utilisant un TIdMessage, et par moment le mail que je reçois me supprime un caractère point, assez fréquemment quand celui-ci est le 80e caractère d'une ligne, mais parfois ailleurs.

    Je vérifie, le mail qui part est correct, mais celui-reçu perd ce point.

    Je suppose qu'il y a un problème d'encodage quelque part, mais je ne vois pas où.

    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
     
        fIdMessage := TIdMessage.Create(Nil);
        fIdMessage.From.Text := '"' + InterpreteChaine(fNomExpediteur)
                              + '" <' + InterpreteChaine(fEmailExpediteur) + '>';
        fIdMessage.Recipients.EMailAddresses := fEmailDestinataire;
        fIdMessage.ReplyTo.EMailAddresses := fRepondreA;
        fIdMessage.Body.Add(fMessage.Text);
     
        IdHtml := TIdText.Create(fIdMessage.MessageParts);
        IdHtml.Body.Assign(fIdMessage.Body);
        IdHtml.ContentType := 'text/html';
     
     
        IdText := TIdText.Create(fIdMessage.MessageParts);
        IdText.Body.text := Utf8Encode(fMessageText.Text); 
        IdText.ContentType := 'text/plain;charset=utf-8';
     
        fIdMessage.ContentType := 'text/html';
        fIdMessage.CharSet := 'iso-8859-1';
        fIdMessage.ContentTransferEncoding := '7bit';
        fIdMessage.Encoding := meMIME;
        fIdMessage.AddHeader('MIME-Version: 1.0'); 
        fIdMessage.Subject := EncodeIso_8859_1(InterpreteChaine(fSujet));
    Si quelqu'un a une suggestion

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 108
    Par défaut
    J'utilise aussi Indy pour envoyer des mails, mais j'écrit beaucoup moins de truc que toi pour l'encodage

    Ce qui me surprend tu mélanges utf-8 et iso-8859-1, l'un pour le Texte et l'autre pour le sujet !

    Dans un objet qui encapsule l'envoi de mail, j'ai un très basique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       IdMessage.CharSet := 'ISO-8859-1';
       IdMessage.ContentType := 'text/plain';
       IdMessage.Body.Text := FBodyMessage;
       IdMessage.Subject := FSubject;
    Tu devrais commencer par là !
    Il est vrai que l'on envoi que des mails textes basiques.

    Ensuite affecter de l'UTF-8 à une TStringList, c'est courageux ! Je n'oserais pas !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut
    Merci.

    J'ai essayé d'encoder tout en ISO ou tout en utf8, j'ai essayé de mettre ContentTransferEncoding à 7bit, 8bit et Base64, j'ai toujours le problème.

    Au final j'ai remplacé mes points par de &#46; et ça marche

Discussions similaires

  1. Test point dans un polyedre
    Par Mucho dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 31/03/2006, 18h40
  2. le pixel noir le plus proche d'un point dans une image
    Par tlemcenvisit dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 28/03/2006, 08h44
  3. perte d'éléments dans un tableau dans $_SESSION
    Par jibouze dans le forum Langage
    Réponses: 10
    Dernier message: 15/11/2005, 17h01
  4. [MFC] Perte du clw dans un projet ATL
    Par Yapadavaro dans le forum MFC
    Réponses: 2
    Dernier message: 29/04/2005, 14h01
  5. Réponses: 4
    Dernier message: 11/06/2004, 10h21

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