Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi indy pop3mail anlage speichern (https://www.delphipraxis.net/30104-indy-pop3mail-anlage-speichern.html)

Reini64 20. Sep 2004 07:41


indy pop3mail anlage speichern
 
Guten Morgen zusammen,

ich habe mal wieder eine Frage:

Wie kann ich eine Anlage aus einer Indy Pop Mail speichern ? :gruebel:

Union 20. Sep 2004 07:44

Re: indy pop3mail anlage speichern
 
Zitat:

Zitat von Reini64
Guten Morgen zusammen,

ich habe mal wieder eine Frage:

Wie kann ich eine Anlage aus einer Indy Pop Mail speichern ? :gruebel:

Hier ein Besispiel:
Delphi-Quellcode:
           // eMail analysieren
           for iMp := 0 to aMsg.MessageParts.Count-1 do begin
              if aMsg.MessageParts.Items[iMp] is tIdAttachment then begin
                 // Dateinamen holen
                 s := (aMsg.MessageParts.Items[iMp] as tIdAttachment).Filename;

                 // Extension ändern
                 if sFileExt <> '' then
                    s := ChangeFileExt(s, '.'+sFileExt);

                 // Datei speichern
                 (aMsg.MessageParts.Items[iMp] as tIdAttachment).savetofile(sDataPath+s);
                 // Protokoll eintragen
                 Logg('Attachment saved as '+sDataPath+s);
              end;
           end;

Reini64 20. Sep 2004 07:54

Re: indy pop3mail anlage speichern
 
gibt es auch eine Möglichkeit die Anlage über SQL in einer Datei zu speichern ?

Union 20. Sep 2004 08:24

Re: indy pop3mail anlage speichern
 
Zitat:

Zitat von Reini64
gibt es auch eine Möglichkeit die Anlage über SQL in einer Datei zu speichern ?

Das müsstest Du dann in einem Blob-Feld machen. Beispiel:
Delphi-Quellcode:
tblMailData.FieldByName('Attachment').LoadFromFile(sDataPath+s);

Reini64 20. Sep 2004 08:46

Re: indy pop3mail anlage speichern
 
Du schreibst :
Delphi-Quellcode:
 
  // Datei speichern
  (aMsg.MessageParts.Items[iMp] as tIdAttachment).savetofile(sDataPath+s);
das geht bei funktioniert bei mir nicht !
"s" hat den Wert z.B: "c:\daten\temp\123.pdf"
"sDataPath" habe ich "c:\daten\Mailablage\" zugewiesen.

die Funktion "savetofile" wird bei mir nicht ausgeführt auch wenn ich eine festen Wert für savetofile('c:\daten\Mailablage\test.txt") eintrage.

Sharky 20. Sep 2004 08:50

Re: indy pop3mail anlage speichern
 
Hai Reini64,

suche mal nach Hier im Forum suchenblob in der Datenbanksparte.

Reini64 20. Sep 2004 08:53

Re: indy pop3mail anlage speichern
 
hier geht es nicht um die Datei in SQL zu speichern sondern Sie als "normal" Datei zu speichern.

Reini64 20. Sep 2004 08:55

Re: indy pop3mail anlage speichern
 
mein jetziger Code sieht so aus:
Delphi-Quellcode:
 for i := 0 to IdMsgSend.MessageParts.Count-1 do
        begin
         if IdMsgSend.MessageParts.Items[i] is tIdAttachment then
            begin
              // Dateinamen holen
              s := (IdMsgSend.MessageParts.Items[i] as tIdAttachment).Filename;

              // Extension ändern
              //if sFileExt <> '' then
              //   s := ChangeFileExt(s, '.'+sFileExt);

              // Datei speichern
              (IdMsgSend.MessageParts.Items[i] as tIdAttachment).savetofile(Mail_Anlage+'\123.tes');

              // Protokoll eintragen
              s1 := S1 +   Mail_Anlage+'\'+ s + chr(10) + chr(13);

            end;
        end;


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