![]() |
AW: Max. Zeilenlänge erreicht
Ja also das Problem tritt immer bei einer bestimmten mail auf.
Habe mir die Mail, die es sein müste mal angesehen und stelle fest, dass da viele Bilder drin vorhanden sind. Aber keinen Anhang. |
AW: Max. Zeilenlänge erreicht
Bilder sind ja m.E. auch MIME codiert eingebettet.
Der MIME Code wird im MailEditor zwar mit Zeilenbruch angezeigt, kann aber sein, das der dort nur in der Ansicht eingefügt ist und tatsächlich ein Bytestrom > "Max Zeilenlänge" zusammenkommt. STOP: Es geht ja nur ums Subject also den Betreff der Mail, garnicht um den Inhalt!? Die Meldung kommt ja nur beim Zugriff aufs Subject, nicht bereits beim Abruf? €: Ich schaue gerade in den Sourcen von Indy. Letztlich lande ich in idCoderHeader.DecodeHeader. Dort scheint aber nichts darauf hinzuweisen, das es eine String-Begrenzung gibt. |
AW: Max. Zeilenlänge erreicht
Für das Subjekt wird ja auch der ganze Mail-Header runtergeladen ... und dort sollte es auch Zeilenumbrüche geben ... vielleicht ist dort ja schon was defekt
oder Indy hat ein Problem damit diese Zeilenumbrüche zu erkennen. |
AW: Max. Zeilenlänge erreicht
Also der Fehler müsste schon vor Zugriff auf IdMessage1.Subject auftreten. Der Filter für den MailHeader sieht zwar grausam aus, aber sollte keinen String-Längen Fehler bringen.
Also wie himitsu sagt, bereits davor beim Runterladen und wie DeddyH vorgeschlagen hat, die Aufgabe splitten, um den Fehler genauer zu lokalisieren. |
AW: Max. Zeilenlänge erreicht
Splitten der beiden Befehle ist eigentlich nicht notwendig, da schon die Fehlermeldung besagt, daß das Problem im Indy-Teil auftritt und nicht im Copy. :angle:
Man könnte aber noch fragen (falls ich's nicht übersehn hab) welche Delphiversion (integriertes Indy) oder welche Indy-Version hier genutzt wird. (ganz fehlerfrei sind die ja auch nicht immer gewesen) |
AW: Max. Zeilenlänge erreicht
Je nachdem wie weit das Projekt schon gediehen ist würde ich auch empfehlen es mal mit Synapse zu versuchen ;)
![]() |
AW: Max. Zeilenlänge erreicht
EIdReadLnMaxLineLengthExceeded:
:glaskugel: Du benutzt TIdPOP3 und einen IOHandler? Beim IOHandler läßt sich die Eigenschaft MaxLineLength einstellen. Desweiteren regelt die Eigenschaft MaxLineAction, ob eine Exception (EIdReadLnMaxLineLengthExceeded) erzeugt wird (maException) oder ob die empfangenen Daten aufgeteilt werden (maSplit). |
AW: Max. Zeilenlänge erreicht
Nein benutze keinen IO Handler.
Ich benutze Delphi XE und die Indyversion, die dabei war. Finde jetzt leider nicht, wo ich die genaue Version finde. Ist aber auf jedenfall min. Indy 10. Komisch ist ja, das es bei anderen Email Accounts von mir funktioniert. Und auch die sind von Web.de. Es scheint irgendwie was mit dieser einen Mail zu sein. Aber auch das Subject dieser Mails besteht nur aus ca. 20 Zeichen. Und andere bei denen es funktioniert bestehen aus wesentlich mehr zeichen. |
AW: Max. Zeilenlänge erreicht
Zitat:
|
AW: Max. Zeilenlänge erreicht
Ja, genau! :thumb:
Da die Indy-Komponenten für den Datentransfer einen IOHandler benötigen, legen sie für den Fall, daß keiner zugewiesen wurde, selbst einen an. Über den kann dann auch die Einstellung vorgenommen werden. Siehe Delphi-Hilfe unter IOHandler, TIdTCPConnection. P.S.: Indy liest ja nicht nur das Subject einer Email. Da werden noch viel mehr Daten durch die Leitung geschickt. Diese Daten werden zeilenweise empfangen: Es wird also in der Standardeinstellung solange gesammelt, bist ein Zeilenende erkannt wurde. Paßt das Ganze nicht in den Empfangspuffer, meckert Indy eben. Soll das verhindert werden, muß man die entsprechenden Einstellungen vornehmen. Dann funktioniert es auch. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 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