AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit den MessageParts und der Indy-Kompnente
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit den MessageParts und der Indy-Kompnente

Ein Thema von adrian4321 · begonnen am 14. Jun 2006 · letzter Beitrag vom 3. Jul 2006
Antwort Antwort
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#1

Problem mit den MessageParts und der Indy-Kompnente

  Alt 14. Jun 2006, 16:19
ich habe ein problem mit der verarbeitung von multipart-emails, genauer gesagt bei text-multiparts.
folgendes soll gemacht werden:

- email (liegt als datei vor) öffnen
- email in ihre bestandteile zerlegen und in einer tabelle ablegen.

ich verwende dazu die indy-komponente, allerdings scheint es so als ob die ärger machen würde.
wenn mehrere emails in einer stapelverarbeitung "zerlegt" werden, kommt es vor dass text-multiparts zwar als text erkannt werden, allerdings stimmt der content-type (TIdMessage.Multiparts.Items[i].ContentType) nicht mit dem im jeweiligen header überein, in wirklichkeit ist es zb text/plain oder text/html, ausgegeben wird aber "multipart/alternative".
dies tritt allerdings nicht auf wenn die mail nach programmstart zum ersten mal verarbeitet wird, sondern erst wenn mehrere mails in einer stapelverarbeitung zerlegt werden. ich kann nicht genau sagen ab wann der abgerufene content-type nicht mehr stimmt, aber beispielsweise gibt es mails die beim zweiten mal in der verarbeitung nicht mehr richtig verarbeitet werden. ich habe den verdacht dass dies eher bei mails mit ein oder 2 attachments und sowohl plain- als auch html-text vorkommt, es ist jedenfals kein problem den fehler hervorzurufen wenn man sich ein paar testmails generiert und die einfach durchlaufen lässt (immer die selben, garantiert unverändert, aber auf einmal stimmts dann nicht mehr mit dem content-type). wenn erstmal eine falsch verarbeitet wurde, wird eigentlich bei keiner darauf folgenden mail der textteil korrekt erkannt sondern nurnoch "multipart/alternative" ausgegeben. erst nach schliessen & öffnen des programms stimmts erstmal wieder.

vereinfacht gesagt mache ich folgendes:

Delphi-Quellcode:
idmessage.clear;
idmessage.loadfromfile(filename);
for i:=0 to idmessage.messageparts.count -1 do
begin
   if (idmessage.MessageParts.Items[i] is TIdText) then
      if idmessage.MessageParts.Items[i].ContentType = 'text/plainthen // hier stimmts irgendwann nicht mehr....
         [...]
end
ich kann mir nun beim besten willen nicht erklären warum dieser vorgang irgendwann nicht mehr funktioniert.... habe schon die indy-version die bei D2005 prof. enthalten ist auf 10.0.52 aktualisiert, erfolglos.... ich hoffe nun dass ihr mir entweder helfen könnt den fehler zu finden, oder eine andere komponente vorschlagen könnt mit der sich emails ebenfalls in alle ihre einzelteile/attachments/etc zerlegen lassen

danke schonmal!
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Problem mit den MessageParts und der Indy-Kompnente

  Alt 22. Jun 2006, 13:47
*hilfe* .... hat da niemand eine ahnung? vielleicht sollte ich das mal bei indy als bug melden, trau mich aber noch nicht so ganz falls ich dann am ende doch selber den fehler drin hab :-/
  Mit Zitat antworten Zitat
adrian4321

Registriert seit: 26. Okt 2003
45 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Problem mit den MessageParts und der Indy-Kompnente

  Alt 3. Jul 2006, 15:56
also ich komm so nicht weiter.... da es aber nach einem programmneustart immer mind. 1 mal funktioniert, wäre es doch eine (unschöne) lösung die indy-komponente nach jeder mail zurückzusetzen, aber nicht mit ihrer clear-funktion sondern eben so wie nach dem programmstart.

ich weiss nur leider nicht wie *g*
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz