![]() |
email abrufen: Kopie am Server belassen
Hallo Leute,
kurze Frage: wie kann ich (ähnlich wie im Outlook) beim Abrufen von eMails eine Kopie am server belassen? - und wie check ich, ob ich eine Mail bereits downgeloadet habe oder nicht ??? ich verwende zum Abrufen der Mails (inkl. speichern als html oder textfile) folgendes:
Delphi-Quellcode:
procedure TUniServerModule.UniThreadTimer1Timer(Sender: TObject); // UniMainModule var MailCount,Mailgroesse,intIndex :Integer; itm:TListItem; i:integer; s:string; begin POP.Host := 'pop.1und1.de'; POP.Port := 995; POP.Username := 'xxxxxx'; POP.Password := 'yyyyyyy'; POP.Connect; Logger.AddLog(' .. erzeuge Verbindung zum POP Server....'); MailCount := POP.CheckMessages; if MailCount = 0 then Logger.AddLog('Keine neuen Mails vorhanden...'); if MailCount >0 then begin for intIndex := 1 to MailCount do begin msg.Clear; pop.Retrieve(intIndex, Msg); Logger.AddLog('MIMEBoundary: '+inttostr(msg.MIMEBoundary.Count)); if msg.IsMsgSinglePartMime then Logger.AddLog('IsMsgSinglePartMime'); if msg.IsEncoded then Logger.AddLog('IsEncoded'); if msg.IsMsgSinglePartMime then Logger.AddLog('IsMsgSinglePartMime'); if msg.NoEncode then Logger.AddLog('NoEncode'); Logger.AddLog('------------------------------------------'); //Anhang for i := 0 to Msg.MessageParts.Count-1 do begin if Msg.MessageParts.Items[i] is tIdAttachment then begin s := (Msg.MessageParts.Items[i] as tIdAttachment).Filename; Logger.AddLog('Anhang: '+s); (Msg.MessageParts.Items[i] as tIdAttachment).savetofile(uniservermodule.FilesFolderPath +'Mails\Anhang_' + IntToStr(intIndex) +s); end; end; // HTML Mail if msg.MessageParts.Count > 0 then begin Logger.AddLog('HTML-Mail:'); for i := 0 to Msg.MessageParts.Count-1 do begin if Msg.MessageParts.Items[i] is TIdText then begin //Logger.AddLogStrings(TIdText(Msg.MessageParts.Items[i]).Body); TIdText(Msg.MessageParts.Items[i]).Body.SaveToFile(uniservermodule.FilesFolderPath +'Mails\html_' + IntToStr(intIndex) + '.html'); end; end; end; // Text Mail if msg.ContentType = 'text/plain' then begin Logger.AddLog('TXT-Mail:'); //Logger.AddLogStrings(msg.body); Msg.Body.SaveToFile(uniservermodule.FilesFolderPath +'Mails\text_' + IntToStr(intIndex) + '.txt'); end; pop.Delete(intIndex); // Löscht die aktuelle Mail !!!! end; end; POP.Disconnect; end; |
AW: email abrufen: Kopie am Server belassen
Indem du diese Zeile auskommentierst / löschst:
Delphi-Quellcode:
Um die Mails eindeutig zu ideintifizieren, suche mal nach UIDL oder MsgId. So findest Du Lösungen.
pop.Delete(intIndex); // Löscht die aktuelle Mail !!!
|
AW: email abrufen: Kopie am Server belassen
Hallo,
Zitat:
Zitat:
zu spät ... |
AW: email abrufen: Kopie am Server belassen
shit ... ich lösche sie ja selber !! .... wer seinen eigenen code lesen kann ist klar im Vorteil ;-)
Vielen Dank :-) |
AW: email abrufen: Kopie am Server belassen
Hätteste mal kommentiert :mrgreen:
|
AW: email abrufen: Kopie am Server belassen
:-D
|
AW: email abrufen: Kopie am Server belassen
Was will man bei
Delphi-Quellcode:
noch kommentieren? :mrgreen:
pop.Delete(...);
|
AW: email abrufen: Kopie am Server belassen
Delphi-Quellcode:
;-)
// Löscht die aktuelle Mail !!!!
|
AW: email abrufen: Kopie am Server belassen
Kommentiert wird meist erst NACH der Erkenntnis ...
Delphi-Quellcode:
pop.Delete(...); // shit ... ich lösche sie ja selber !! .... wer seinen eigenen code lesen kann ist klar im Vorteil
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz