Moin !
Ich denke hier ist der Fehler zu finden:
Delphi-Quellcode:
function TIdIOHandler.ReadLnRFC(var VMsgEnd: Boolean; const ALineTerminator: string;
const ADelim: String = '.'; AByteEncoding: TIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ADestEncoding: TIdTextEncoding = nil{$ENDIF}
): string;
begin
Result := ReadLn(ALineTerminator, AByteEncoding
{$IFDEF STRING_IS_ANSI}, ADestEncoding{$ENDIF}
);
// Do not use ATerminator since always ends with . (standard)
if Result = ADelim then
begin
VMsgEnd := True;
Exit;
end;
if TextStartsWith(Result, '.') then begin {do not localize}
Delete(Result, 1, 1);
end;
VMsgEnd := False;
end;
Das kann nicht funktionieren. Denn wenn in der Mail ein . steht in einer Zeile, dann wird das als Ende interpretiert.
Mir ist auch nicht klar warum man Punkte am Anfang einer Zeile löscht.
So ein Mist ... Wie soll man damit Mails sauber empfangen können