POP3 Mailabfrage



  • <h1>Hi Leute,</h1>

    ich wollte einen kleinen Mail-Client schreiben und brauche mal Rat, wie ich eine Mail von einem POP3-Server (mein eigener Rechner, nicht versuchen über's Netz zu connecten) abzuholen und dann anzuzeigen. Das Abholen klappt scheinbar, aber das Anzeigen liefert mir immer nur eine Fehlermeldung à la "Access Violation" 😕 .

    Hier mal der Code dazu:
    Für Host, UserId u. Pwd habe ich nur XXX anstatt der realen Werte engesetzt.

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     IdPOP31->UserId = "XXXXXX";
     IdPOP31->Password = "XXXXX";
     IdPOP31->Port = 110;
     IdPOP31->Host = "XXXXXXX";
     TIdMessage * msg1;
     int msgs = 0;
     AnsiString temp;
     TStrings * temp2;
     try
     {
     IdPOP31->Connect();
     }
     catch (...)
     {
     Memo1->Lines->Add("Fehler beim Herstellen der Verbindung...");
     }
     try
     {
     msgs = IdPOP31->CheckMessages();
     if (msgs > 0)
     {
            IdPOP31->Retrieve(0, msg1);
     }
     }
     catch (...)
     {
     Memo1->Lines->Add("Fehler beim Abrufen der Nachrichten...");
     }
     try
     {
     IdPOP31->Disconnect();
     }
     catch (...)
     {
     Memo1->Lines->Add("Fehler beim Abbauen der Verbindung...");
     }
     Memo1->Lines->Add("Mails: " + IntToStr(msgs));
     try
     {
    // Memo1->Lines->AddStrings(msg1->Body);
     temp.printf("%s", msg1->Body->GetText());
    // temp = temp2->Text;
     Memo1->Lines->Add(temp);
     }
     catch (...)
     {
     Memo1->Lines->Add("Fehler bei der Maildarstellung...");
     }
    }
    

    Danke für eure Hilfe...
    Ich würde mich freuen, wenn ich den Code hierher gepostet kriege und diesen dann in ein Memo-Feld (Memo1) bzw. beliebige AnsiString od. TStringList ausgeben kann, damit ich die Nachrichten weiterverarbeiten kann (eventuelle Darstellung von Links, Formatierungen u.s.w)
    Vielleicht Antwort an meine Mailadresse: [url=mailto:ReneRomann@web.de">ReneRomann@web.de[/url]
    René



  • Du hast auf jeden Fall vergessen, mit new Speicher für msg1 und temp2 zu reservieren.

    Ansonsten benutz bitte mal die Suchfunktion des Forums, zum Thema POP3 solltest du da einige Beiträge finden.


Anmelden zum Antworten