Hallo,
ich hab es jetzt mit Pos und einem Array mit den Wochentagen gelöst.
Delphi-Quellcode:
...
Received: from
localhost.localdomain (web199.
local.xxx.com [10.246.64.199])
by mail-out1.xxx.net (Postfix)
with ESMTP id 50F0A80030397;
Sun, 2 Feb 2014 15:10:35 +0100 (CET)
...
Vor dem ersten Auftauchen des Wochentages, in diesem Fall Sun, kann nichts im Header stehen, daß ebenfalls 'Sun, '(<- blank beachten) lautet. Kein Server kann Sun, blank heißen. Auch keine ID, usw.
Ich schau also im ersten Durchlauf mit ...headers.date, ob ein "normales" Datum im Header steht. Kommt da nichts, dann rufe ich die folgende Funktion auf:
Wenn da wieder kein Datum kommt, dann hab ich halt keines.
Delphi-Quellcode:
function FindHeaderDateEx(AHeaderSL: TStringList): string;
const
DayArray: array[0..6] of string = ('Mon, ', 'Tue, ', 'Wed, ', 'Thu, ', 'Fri, ', 'Sat, ', 'Sun, ');
var
i, posheader: integer;
begin
for i:=0 to length(DayArray) -1 do
begin
posheader:= pos(DayArray[i],AHeaderSL.Text);
break;
end;
result:=copy(AHeaderSL.Text,posheader, 31);
//Mon, 03 Feb 2014 09:50:48 +0100 <- ist immer 31 Zeichen lang.
end;
Ciao
Josef