Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi POP3 Mail mit Anhang (https://www.delphipraxis.net/112039-pop3-mail-mit-anhang.html)

Cosamia 14. Apr 2008 08:38


POP3 Mail mit Anhang
 
Tag zusammen,

mal wieder eine kleine Frage an euch.
Ich versuche gerade mein POP3 Client fertig zu stellen. Funzt auch alles bis auf die Anhänge.

Diese entalten immer den kompletten Mailkopzeichen.

Microsoft Mail Internet Headers Version 3.0
Thread-Topic: APEX-Bestellung von Kunde (Joe Valachi ) am (11.04.2008 19:36:49)
X-PMWin-Version: 1.7.1, Antispam-Engine: 2.8.0, Antivirus-Engine: 1.72.0


Was mache ich falsch?

Ich speichere den den Anhang wie folgt:

Delphi-Quellcode:
Idmessage.SaveToFile(xmlfile);

SirThornberry 14. Apr 2008 08:54

Re: POP3 Mail mit Anhang
 
welche Indyversion verwendest du denn?
Und wo genau ist jetzt dein Problem? Wenn du die Mail empfängst kannst du logischer Weise nicht bestimmen was der Absender in die Mail packt. Und wenn dieser eben diese Header mit reinpackt sind sie nunmal drin.

Cosamia 14. Apr 2008 09:07

Re: POP3 Mail mit Anhang
 
Indy 10.

Der Anhang besteht aber eigentlich nur aus einer XML Datei.

Und genau diese will ich abspeichern.

Bernhard Geyer 14. Apr 2008 09:30

Re: POP3 Mail mit Anhang
 
Tritt das Problem nur bei XML-Dateien auf? Wir haben die Erfahrung das manche Clients ab und zu denke XML-Anhänge verändern zu müssen.

Cosamia 14. Apr 2008 09:33

Re: POP3 Mail mit Anhang
 
Nein, es bezieht sich nicht nur auf XML Dateien.

Ich glaube der Inhalt von Idmessage ist falsch bzw. die komplette Mail.

Wie kann ich den nur den Anhang ansprechen und nicht die ganze Mail?

marabu 14. Apr 2008 09:43

Re: POP3 Mail mit Anhang
 
Hallo,

Zitat:

Zitat von Cosamia
... Was mache ich falsch? Ich speichere den den Anhang wie folgt:
Delphi-Quellcode:
Idmessage.SaveToFile(xmlfile);

warum speichesrt du die komplette Message mit Headers, Body und Attachment, wenn du nur einen Anhang speichern möchtest? Aber auch wenn du nur ein IdAttachment (Message.MessageParts[1] as TIdAttachment o.ä.) speicherst, könnten spezielle Header enthalten sein. Einfach bis zur ersten Leerzeile wegnehmen.

Grüße vom marabu

Jelly 14. Apr 2008 10:38

Re: POP3 Mail mit Anhang
 
Zitat:

Zitat von Cosamia
Ich speichere den den Anhang wie folgt:

Delphi-Quellcode:
Idmessage.SaveToFile(xmlfile);

Nein, damit speicherst du nicht den Anhang, sondern die ganze Mail als solches im .msg Format. Outlook Express und eigentlich alle anderen Mail Clients (ausser Outlook) können dieses format wieder einlesen...

Die Attachments liegen, wie Marabu beschrieben hat, in den Messageparts. Die Messageparts müssen aber nicht zwangsläufig Attachments sein, deshalb ist eine vorherige Prüfung wichtig:
Delphi-Quellcode:
if (idMessage.MessageParts[0] is TIdAttachment) then begin
   attachment := idMessage.MessageParts[0] as TIdAttachment ;
   attachment.SaveToFile("") ; // oder so ähnlich
end ;
Eventuell musst du noch eine Schleife rumbauen, um alles MessageParts durchzugehen.

Cosamia 14. Apr 2008 10:42

Re: POP3 Mail mit Anhang
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von Cosamia
Ich speichere den den Anhang wie folgt:

Delphi-Quellcode:
Idmessage.SaveToFile(xmlfile);

Nein, damit speicherst du nicht den Anhang, sondern die ganze Mail als solches im .msg Format. Outlook Express und eigentlich alle anderen Mail Clients (ausser Outlook) können dieses format wieder einlesen...

Die Attachments liegen, wie Marabu beschrieben hat, in den Messageparts. Die Messageparts müssen aber nicht zwangsläufig Attachments sein, deshalb ist eine vorherige Prüfung wichtig:
Delphi-Quellcode:
if (idMessage.MessageParts[0] is TIdAttachment) then begin
   attachment := idMessage.MessageParts[0] as TIdAttachment ;
   attachment.SaveToFile("") ; // oder so ähnlich
end ;
Eventuell musst du noch eine Schleife rumbauen, um alles MessageParts durchzugehen.

Jetzt habe auch ich es verstanden.

Danke an alle. Manchmal kann das Leben so schwer sein. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 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