1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Indy POP - Codiertabelle

Dieses Thema im Forum "Borland CBuilder und VCL" wurde erstellt von dern3ro, 27. April 2010.

  1. dern3ro

    dern3ro Grünschnabel

    Hallo,

    ich hab zwei Programme geschrieben, eines welches Emails mit Anhängen verschickt (eine .dat Datei und bis zu 8 Bilder)

    ... und eines welche diese Emails empfangen soll.

    Das klappt auch alles wunderbar nur manchmal kommt folgender Fehler:

    Eine Excption tritt in der Klasse IdTableNotFound mit Meldung: "Eintrag in der Codiertabelle nicht gefunden".

    Code (Text):
    1.         bool ergebnis;
    2.         for(int x=1;x<=AnzahlMails;x++){
    3.             IdMessage->Clear();
    4.                 ergebnis = POP->Retrieve(x,IdMessage); // Fehler passiert hier. Also es scheint irgendwas mit Codieren und dem speichern in IdMessage nicht zu klappen
    5.             if(ergebnis){
    6.                 .
    7.                 .
    8.                 ...

    weiss jmd was ich da machen kann. Ist sehr dringend


    Vielen Dank und liebe Grüße

    Daniel
     
  2. Turri

    Turri Erfahrenes Mitglied

    Hallo,

    dafür suche ich auch eine gängige Lösung.
    Derzeit hab ich einen try-catch Block um das Retrieve und im Catch lösche ich die x-te Mail,
    die das Programm nicht holen konnte.
    So richtig gefällt es mir auch nicht, aber bisher hab ich auch keine Mail vermisst.

    Hier mein Workaround

    Code (C++):
    1. try
    2. {
    3.    ergebnis = IdPOP31->Retrieve(x,IdMessage1);
    4. }
    5. catch(Exception &e)
    6. {
    7.    // e.Message = Eintrag in Codiertabelle nicht gefunden
    8.    ShowMessage("Fehler beim Message-Retrieve: "+e.Message);
    9.    try
    10.    {
    11.          IdPOP31->Disconnect();
    12.          IdPOP31->Connect();
    13.          IdPOP31->Delete(x);      // das x-te Mail will nich, also zum löschen freigeben...
    14.          IdPOP31->Disconnect(); // Mails werden erst beim disconnect gelöscht,
    15.                                     //deswegen lösche ich jetzt die Fehlerhafte
    16.     }
    17. ....
     
  3. Turri

    Turri Erfahrenes Mitglied

    Hallo,

    hab mal bisschen Google bemüht und das hier gefunden.
    Link
    Was die in dem Link ansprechen ist die "TIdBase64" Kompontente.
    Hab sie jetzt selbst noch nicht ausprobiert könnte mir aber vorstellen, das damit was geht.

    Vielleicht hilft es ja.
     
  4. dern3ro

    dern3ro Grünschnabel

    Hallo,

    Ja das mit dem Löschen ist etwas rabiat ;) .... mhh mal drüber nachdenken.

    Werd mir heute Nachmittag mal deinen Link angucken.

    Vielen Dank schon mal für deine Hilfe
     
  5. Turri

    Turri Erfahrenes Mitglied

    Hallo,

    noch ein nützlicher Link :D
    Is zwar Delphi Code, aber ist ja halbwegs lesbar.

    Link

    Könnte wirklich an den IdMessage Einstellungen (NoEncode und NoDecode) liegen.

    Muss ich selbst mal ausprobieren.
     
Die Seite wird geladen...
Ähnliche Themen - Indy Codiertabelle
  1. Spluh
    Antworten:
    0
    Aufrufe:
    2.764