![]() |
Mail Header auslesen ob Spam oder nicht ???
Hallo zusammen,
ich überlege wie man Mails die als Spam gekennzeichnet sind (Information im Header) umbenennen oder Löschen kann. Gut das Kennzeichnen oder Löschen ist jetzt nicht das Problem aber wie kann ich nun den Header Testen ob die Informationen dort drinn stehen ? hier mal ein Beispiel: Zitat:
|
Re: Mail Header auslesen ob Spam oder nicht ???
also ich vermute mal du willst das ***** als String da raushaben, oder?
das ginge so:
Delphi-Quellcode:
Sollte zumindest ;)
function GetSpamLevel(S: TStringList): String;
begin Result:=''; if Pos('X-Spam-Level',S.Text)=0 then Exit; while Pos('X-Spam-Level',S[0])=0 do S.Delete(0); Result:=Copy(S[0],Pos(':',S[0])+1,MaxInt); end; |
Re: Mail Header auslesen ob Spam oder nicht ???
Danke !
Da hätte ich aber auch selber drauf kommen können ! 'SCHÄM' |
Re: Mail Header auslesen ob Spam oder nicht ???
Hallo Mario,
eine weitere Möglichkeit - falls du den Indy POP3-Client verwendest - wäre das Abholen nur der Kopfzeilen (ungetestet):
Delphi-Quellcode:
Grüße vom marabu
var
msg: TIdMessage; n: Integer; s: String; begin // ... with pop3 do begin RetrieveHeaders(n, msg); s := Copy(Trim(Uppercase(msg.ExtraHeaders.Values['X-Spam-Status'])), 1, 3); if s = 'YES' then ShowMessage('spam again'); end; end; |
Re: Mail Header auslesen ob Spam oder nicht ???
Na dann lag ich ja doch nicht so falsch !
Ich habe es jetzt so geregelt, damit kann ich auch beim Laden der Mails von der Platte den Status prüfen.
Delphi-Quellcode:
if pos('X-Spam-Status: Yes', msg.Headers.Text) <> 0 then
itm.SubItems.Add(Msg.Subject + ' *** SPAM ***') else itm.SubItems.Add(Msg.Subject); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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 by Thomas Breitkreuz