Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#2

Bug in IdIOHandler -> ReadLnRFC

  Alt 22. Apr 2010, 09:17
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
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat