pop3 retrieve base64 problem
-
hallo freunde habe ein großes problem.
habe ein kleines programm geschrieben dass sich auf einem mailserver connectet und per Indy8 Tidpop3 mails abholt. dieses lief auch über einige monate problemlos, doch neuerdings bricht es ab. mit der meldung
Exception in Klasse TIdTableNotFound.
Meldung: "Eintrag in Codiertabelle nicht gefunden".Quellcode sieht wie folgt aus:
int AnzahlMails=Form1->IdPOP31->CheckMessages(); for(int x=1;x<=AnzahlMails;x++) { Form1->IdMessage1->Clear(); ergebnis=Form1->IdPOP31->Retrieve(x,Form1->IdMessage1); ...
bei retrieve wirft er die exception.
Habe herausgefunden das der fehler mit dem anhang und der base64 verschlüßelung zu tun hat.
Die mails die ich da abrufe werden von einem programm generiert und sehen immer gleich aus nur mit verschiedenen anhängen. habe schon geprüft ob in den anhängen die auf fehler laufen ungewöhnliche sonderzeichen oder änliches enthalten sind, aber ich sehen keinen unterschied zu den anhängen die problemlos verarbeitet werden.
hab keine idee mehr und bei google finde ich nichts.
hoffe jemand kann mir einen tip geben.
-
Hast du es denn mal durch andere Base64-Implementationen testen lassen?
Im Netz habe ich z.B. http://base64.sourceforge.net/b64.c gefunden.Evtl. gibt es ja doch falsche Zeichen bzw. eine falsche Codierung der Daten (insbesondere das Ende eines Base64-Strings kann Probleme machen, da dort dann noch mit '=' aufgefüllt wird).