Entwickler-Ecke
Internet / Netzwerk - Body mit Indy auslesen
Husar - Fr 19.07.02 12:53
Titel: Body mit Indy auslesen
Ich kann alle Daten aus einer Mail auslesen nur was nicht funktionieren will ist der wichtigste Teil nämlich den Body
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button2Click(Sender: TObject); begin pop.Connect; pop.Retrieve(2,IdMessage1);//ListView1.Selected.Index+1, IdMessage1); Edit5.Text := IdMessage1.From.Name; Edit7.Text := IdMessage1.From.Address; Edit6.Text := IdMessage1.Subject; Memo1.Text := IdMessage1.Body.Text; pop.Disconnect; IdMessage1.Clear; end; |
Kann mir vieleicht jemand sagen wo der Fehler liegt, und wie ich es machen soll.
Tino - Fr 19.07.02 12:59
Hi,
ich gehe mal davon aus das Memo1 vom Type tMemo ist. Dann liegt der Fehler wohl darin das tMemo keine Eigenschaft Text hat. Schau mal in der Hilfe unter tMemo nach. Da wirst Du sehen das diese Eigenschaft nicht vorhanden ist. Benutze besser das hier:
Quelltext
1:
| Memo1.Lines.Text := IdMessage1.Body.Text; |
oder wenn Body von tStrings abgeleitet wurde
Memo1.Lines := IdMessage1.Body;Gruß
TINO
Husar - Fr 19.07.02 13:17
Herzlichen Dank für deinen Tip,
hatte aber beides schon ausprobiert klappt leider nicht.
Tino - Fr 19.07.02 13:41
Kommt es zu einem Fehler oder so? Und wenn ja welcher!
Husar - Fr 19.07.02 13:54
Nein es kommt zu keinem Fehler, er zeigt mir halt nur nicht den Body
Klabautermann - Fr 19.07.02 14:50
Hallo,
die Body Eigenschaft kannst du vergessen, da der Body einer e-mail sich in mehrere Teile Spalten kann. Du musst über die Eigenschaft MessageParts an die Sache gehen.
Das hier ist das entsprechende (vereinfachte) Codefragment aus meinen E-Mailprogramm:
Quelltext
1: 2: 3: 4: 5:
| FOR i := 0 TO Msg.MessageParts.Count -1 DO BEGIN IF Msg.MessageParts.Items[i] IS TIdText THEN BEGIN // Wenn Body Text entdeckt wurde TRY Memo1.Items.Assign(TIdText(Msg.MessageParts.Items[i]).Body); [...] |
Gruß
Klabautermann
Tino - Fr 19.07.02 15:05
Hi Klabautermann,
könnten mehrer MessageParts vom Typ tIdText sein? Wenn ich Deine Anweisung nach dem IF-THEN sehen dann wahrscheinlich nicht.
Gruß
TINO
Klabautermann - Fr 19.07.02 16:18
Hallo,
leider habe ich dadrüber auch keine genauen informationen gefunden (als ich den Code entwickelte).
Daher würde ich sagen, Theoretisch ja, Praktisch nein. Zumindest habe ich seit mein
Programm [
http://www.auq.de/viewtopic.php?t=343] draußen (seit Januar, ca. 5000 downloads) sind noch keine diesbezüglichen beschwerden gekommen ;). Auch in Demoprogrammen zu den Indy Komponenten wurde immer davon ausgegangen, das es nur einen solchen Part gibt.
Gruß
Kalbautermann
Husar - Fr 19.07.02 16:22
Danke, für deine Hilfe
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!