POP3-Postfach abrufen?



  • Hallo,

    ich suche nach einem Beispielcode wie man ein Mailpostfach abrufen kann, für den Anfang reicht es das ich weis ob (neue) Mails vorhanden sind oder nicht. Ich hab lange gegoogelt aber nur fertige Libs gefunden, genau das was ich nicht will...

    Hoffe ihr könnt mir helfen...


  • Administrator

    Das ist etwas kompliziert in C++, da brauchst du das folgende:
    1. Socket Library, z.B. Boost.Asio ist da zu empfehlen. Anfangen sollte man aber mit einem Socket-Tutorial oder mit einem Buch über Netzwerkprogrammierung. Sonst ist die Dokumentation von Boost nur schwer zu verstehen.
    2. POP3-Spezifikation.

    An die POP3-Spezifikation kommt man über die RFCs ran. Suchen kann man z.B. hier:
    http://www.rfc-editor.org/cgi-bin/rfcsearch.pl

    Und auf dieser Seite kommt man dann an gute PDFs:
    http://ietfreport.isoc.org/rfc-index.html

    Zum Beispiel für POP3:
    http://ietfreport.isoc.org/rfc1900-1999.html#rfc1939
    http://ietfreport.isoc.org/rfc2400-2499.html#rfc2449
    http://ietfreport.isoc.org/rfc5000-5099.html#rfc5034

    Grüssli



  • joa danke dir, ich will aber kein Modul verwenden, sondern das selbst coden... 😉

    gibt es keinen Beispielcode wie man schonmal zum POP3 konto connecten kann ?



  • Genau mit den Vorschlägen von Dravere muss man selbst coden.

    Mit Boost::Asio ist es relativ einfach, platformunabhängig und ohne OS-Gefrickel eine Verbindung herzustellen. Die POP3-Spezifikationen geben dir Aufschluss darüber, was der Server an Daten erwartet, und wie seine Antworten zu interpretieren sind, um die eMails abzurufen.


  • Administrator

    Gast456 schrieb:

    joa danke dir, ich will aber kein Modul verwenden, sondern das selbst coden... 😉

    Was heisst hier Modul? Meine Links haben überhaupt nichts mit einem Modul zu tun. Das eine ist nur eine Socket Library, mit der du dich über das Inet verbinden kannst. An so eine Bibliothek kommst du gar nicht dran vorbei und Boost.Asio ist da eine sehr gute. Der Rest sind nur Papiere, welche dir den Standard von POP3 erklären und dir somit klar machen, wie du verbindest und wie das Protokoll zur Kommunikation auszusehen hat.

    Viel weiter runter kannst du gar nicht, ausser du schreibst gleich den Netzwerktreiber selbst :p

    Grüssli



  • Dravere schrieb:

    Gast456 schrieb:

    joa danke dir, ich will aber kein Modul verwenden, sondern das selbst coden... 😉

    ...Das eine ist nur eine Socket Library, mit der du dich über das Inet verbinden kannst. An so eine Bibliothek kommst du gar nicht dran vorbei und Boost.Asio ist da eine sehr gute...

    Würde das mit der WinApi nicht auch gehen ? Frag nur weils mich auch interessiert.



  • hm also ich find für jeden S***** Beispielcode, nur für ne POP3-Verbindung nicht -.-



  • Gast456 schrieb:

    hm also ich find fuer jeden S***** Beispielcode, nur fuer ne POP3-Verbindung nicht -.-

    weil es dafuer erstklassige fertige Libs gibt, die dir die Arbeit abnehmen...
    und wenn du es selber machen willst, kommst du nicht umhin, dich mit den POP3-Spezifikationen zu beschaeftigen. Da hilft dir auch ein Beispielcode nichts


  • Administrator

    setststs schrieb:

    Dravere schrieb:

    Gast456 schrieb:

    joa danke dir, ich will aber kein Modul verwenden, sondern das selbst coden... 😉

    ...Das eine ist nur eine Socket Library, mit der du dich über das Inet verbinden kannst. An so eine Bibliothek kommst du gar nicht dran vorbei und Boost.Asio ist da eine sehr gute...

    Würde das mit der WinApi nicht auch gehen ? Frag nur weils mich auch interessiert.

    Klar kannst du auch die Sockets aus der WinAPI benutzen. Boost.Asio verwendet im Hintergrund für das Betriebsystem Windows auch die WinAPI. Die WinAPI ist aber halt eine C Schnittstelle. Boost.Asio wrap diese C-Schnittstelle und bietet eine moderne C++ Schnittstelle an. Zudem wrap Boost.Asio auch noch andere Sockets Libraries für andere Betriebsysteme über die gleiche Schnittstelle und bietet somit Platformunabhängigkeit an.

    Hier findest du fertige und meistens Quelloffene Libs, welche allerdings wohl hauptsächlich auf der MFC oder WinAPI aufbauen:
    http://www.codeproject.com/info/search.aspx?artkw=C%2B%2B+POP3

    Du könntest dir ja so eine Lib holen und sie dir anschauen. Dann hast du deinen Beispielcode.

    Grüssli


Anmelden zum Antworten