begin process at 2010 02 10 03:17:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Internet

 > 

Comment afficher la bonne partie texte d'un mail ayant plusieurs partie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment afficher la bonne partie texte d'un mail ayant plusieurs partie

mercredi 1 juillet 2009 à 09:33:28 | Comment afficher la bonne partie texte d'un mail ayant plusieurs partie

vieuxpere

Bonjour, j'ai une appli qui va rechercher les mails sur un serveur web et les affiche dans un WebBrowser sous forme de fichier HTML. Jusque là, je n'ai pas de probléme.
 
Le probléme que j'ai par contre, c'est que certains mails, qui peuvent contenir plusieurs parties (texte et piéce jointe), on aussi parfois plusieurs parties texte (je le constate puisque pour un même message j'ai plusieurs réponses via un : if IdMessage1.MessageParts.Items[j] is TIdText  then...)  ce qui fait qu'avec le code qui suit je ne conserve que la derniére partie texte d'un message (ayant écrasé les précédants).

Aussi j'aurai besoin de savoir comment je peux identifier dans un même message (selon peut-être son encodage ou autre chose ?) la bonne partie texte à afficher ?

Exemple de régle : Pour un message en base64, ayant deux piéces jointes extraire la premiere partie texte du message (est-ce que ce genre de régle peut-avoir un sens ?).

PS : J'utilise Delphi 7 et les composants Indy.

Merci par avance pour vos réponses,

Mon code allégé :

// Boucle des messages
for i := 1 to NbrMsgs do
begin  // Début I

//On récupère l'entête du Ième message
IdPOP31.Retrieve(i, IdMessage1);

// Si on a plusieurs parties dans le mail alors on a une pièce jointe
if IdMessage1.MessageParts.Count > 0 then

// Boucle des differentes parties de chaque message (texte et pieces jointes)
for j := 0 to IdMessage1.MessageParts.count -1 do
      begin

      // SI C'EST UNE PARTIE TEXTE
      if IdMessage1.MessageParts.Items[j] is TIdText  then
          Begin // Debut K

          // Contruction du mail recus en page HTML (dans le cas où le mail recu ne soit que du texte)
          TexteHTML:=TStringList.create;

          // Construction du message HTML
          TexteHTML.Add(TIdText(IdMessage1.MessageParts.Items[j]).Body.text);

          // Enregstre le fichier HTML
          TexteHTML.SaveToFile('c:\Messages\Mail.html');

          End;

mercredi 1 juillet 2009 à 13:39:12 | Re : Comment afficher la bonne partie texte d'un mail ayant plusieurs partie

Bacterius

Membre Club
Il y a des sources traitant de cela au sein même de DelphiFr : cherche avec des mots clefs appropriés dans le moteur de recherche CS !

Cordialement, Bacterius !
mercredi 1 juillet 2009 à 18:49:10 | Re : Comment afficher la bonne partie texte d'un mail ayant plusieurs partie

vieuxpere

Bonjour et merci de ta réponse. Si j'ai posté ce message c'est que je n'ai rien trouvé sur le site. As-tu le lien de ces sources ou les bons mots clés ? Merci par avance,


Cette discussion est classée dans : message, mail, texte, partie, idmessage1


Répondre à ce message

Sujets en rapport avec ce message

Mail via Indy - Obtenir heue envoi message de l'expediteur [ par vieuxpere ] Bonjour,J'ai une application qui fait office de client mail, elle permet en outre d'envoyer des messages et de réceptionner ceux qui arrivent, ceci a Comment afficher le corps du texte d'un mail ? [ par vieuxpere ] Bonjour, j'ai créé une application qui va rechercher les nouveaux mails reçus sur une boite spécifiée (via Indy de Delphi7), j'arrive par exemple à ré Probleme de mail avec Outlook 2000 [ par blamme ] Bonjour a tous,J'ai une petite question: j'ai creer un soft qui envoie des mails avec le client de messagerie par defaut grace a la commande: shellexe URGENT - comment je peux afficher un mail [ par vieuxpere ] Bonjour, Je fais un client mail qui permet d'envoyer et de recevoir des messages (via Delphi 7 / Indy), je souhaiterais savoir comment je peux aff Message, mail, non-coché par defaut [ par f0xi ] salut,ce serait surper si, par defaut la case "M'envoyer un mail lorsqu'il y a une réponse à cette discussion." sous l'editeur de message du forum eta retour a la ligne dans un mail avec client par defaut [ par blamme ] Bonjour,Donc j'envoi un mail avec la commande shellexecute('handle' ,pchar('mailto:adr@mail.fr&subject=message&body=corp du message' ),'','',sw_normal Lire une certaine partie d'un fichier texte volumineux [ par Bacterius ] Bonjour,je voudrais juste savoir si il est possible, avec Windows, de lire seulement quelques lignes d'un fichier texte assez lourd (genre 250 mo) san Comment envoyer mail avec accusé de reception via Indy [ par vieuxpere ] Bonjour,Aprés avoir tout essayé, je n'arrive pas à envoyer de mail avec un accusé de reception.Quand je m'envoi un mail avec accusé à partir d'Outlook J'en ai marre [ par hitman94440 ] Bonjour tous le monde, je m'adresse surtout au admin de ce site, je m'etais inscrit mais je ne poste aucun message sur le forum et je recois des mail Erreur IdSMTP [ par couf ] Bonjour à Tous, Voila je suis entrain de m'arracher les cheveux à propos d'un problème dont je ne vois pas la solution.J'écris un programme qui dois e


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales