Mails-Checken aus C heraus



  • Hallo Forum,

    ich bin nach wie vor dabei mich langsam in C einzuarbeiten. Da man in der Regel besser lernt wenn man ein klares Ziel vor Augen hat würde ich gerne ein Programm schreiben das folgende Möglichkeiten bietet:

    Es soll autmotisch ein POP-Postfach auf Mails prüfen und ggf. Mails abrufen.
    Der Inhalt der Mails soll auf bestimmte Worte durchsucht werden.
    Solle ein bestimmtes Wort enthalten sein bekommt der Absender eine Antwort darauf.

    Ich wollte nun wie folgt vorgehen:

    - Erst die benötigten Daten eingeben lassen
    - Dann die Verbindung zum Postfach aufbauen und entsprechend Mails abrufen (manuel über das Pop-Protokoll, Socket-Verbindung)
    - Den Inhalt gegen Schlüsselwörter aus einer Datei prüfen
    - ggf. über eine Socket-Verbindung direkt eine Antwort über Mail verschicken.

    Das ganze würde ich "Hand zu Fuß" vornehmen, also die Mails komplett selber zusammenbauen und verschicken.

    Das ist nur ein grober Umriss, würdet ihr das genauso machen oder gibt es eine Standard-Bibliothek die mir bei den Mails helfen könnte?

    Ich verwende den C-Compiler der GCC unter Linux.

    Gruß und schonmal danke
    Sparrow



  • Ich persönlich würde es genauso machen, da ich mich nicht mit irgendwelchen Bibliotheken, oder gar OOP anfreunden kann. Ich schreibe ein Programm lieber in C oder Assembler als in Sprachen wie Java oder C#.

    Zu deinem Anliegen:
    Mails abrufen über POP ist denke ich die einfachste Möglichkeit, und sollte mit stinknormalen Sockets nicht sonderlich schwer sein.
    Versenden würde ich Mails über SMTP. (Dazu braucht man noch eine base64 Funktion für die Authentifizierung)

    P.S.
    Wenn C, dann richtig! Also keine speziellen Bibliotheken etc. 😉



  • nicht unbedingt auf das Topic geschnitten:
    Wenn du das Fertig hast... Kann ich den Quellcode dann einsehen? Ich habe mit der MAPI gearbeitet und es ist ur komisch... Echt billig halt...

    vllt. hab ich auch nur alles falsch gemacht aber egal...

    Wie gefragt, kann man den Code -teilweise- einsehen?



  • loose schrieb:

    Ich persönlich würde es genauso machen, da ich mich nicht mit irgendwelchen Bibliotheken, oder gar OOP anfreunden kann.
    Wenn C, dann richtig! Also keine speziellen Bibliotheken etc.

    das ist doch unsinn. es kommt drauf an, welche möglichkeiten dem programm zur verfügung stehen. läuft es auf 'nem fetten PC, dann wird wohl keiner, ausser zu lern- oder simulationszwecken, einen pop3-client zu fuss und/oder in C programmieren wollen. auf 'ner minimalistischen plattform, wo ein tcp/ip stack das höchste der gefühle ist, schon eher.
    🙂



  • Vielen Dank für die netten Antworten, das macht Mut 🙂

    loose schrieb:

    Ich persönlich würde es genauso machen, da ich mich nicht mit irgendwelchen Bibliotheken, oder gar OOP anfreunden kann. Ich schreibe ein Programm lieber in C oder Assembler als in Sprachen wie Java oder C#.

    Ich bin recht fit was Java angeht. Aber ich bin kein Verfechter einer bestimmten Programmiersprache

    loose schrieb:

    Zu deinem Anliegen:
    Mails abrufen über POP ist denke ich die einfachste Möglichkeit, und sollte mit stinknormalen Sockets nicht sonderlich schwer sein.
    Versenden würde ich Mails über SMTP. (Dazu braucht man noch eine base64 Funktion für die Authentifizierung)

    Mit dem Pop-Protokoll habe ich in der Vergangenheit schon gearbeitet. SMTP werde ich mir dann anschauen müssen.

    lippoliv schrieb:

    nicht unbedingt auf das Topic geschnitten:
    Wenn du das Fertig hast... Kann ich den Quellcode dann einsehen? Ich habe mit der MAPI gearbeitet und es ist ur komisch... Echt billig halt...

    vllt. hab ich auch nur alles falsch gemacht aber egal...

    Wie gefragt, kann man den Code -teilweise- einsehen?

    Wenn es fertig ist werde ich die paar Sourcen sowieso veröffentlichen. Schon alleine deshalb, weil so erfahrene Programmierer entsprechende Tipps zur Optimierung geben können.

    pop3-freak schrieb:

    das ist doch unsinn. es kommt drauf an, welche möglichkeiten dem programm zur verfügung stehen. läuft es auf 'nem fetten PC, dann wird wohl keiner, ausser zu lern- oder simulationszwecken, einen pop3-client zu fuss und/oder in C programmieren wollen. auf 'ner minimalistischen plattform, wo ein tcp/ip stack das höchste der gefühle ist, schon eher.

    Das Programm soll auf meinem kleinen Homeserver laufen, der protzt leider nicht mit Leistung. Ich denke mal C ist für die klare Definition durchaus angebracht.

    Gruß
    Sparrow



  • sparrow schrieb:

    Das Programm soll auf meinem kleinen Homeserver laufen, der protzt leider nicht mit Leistung. Ich denke mal C ist für die klare Definition durchaus angebracht.

    was? das ist ja 'ne richtig dicke kiste (gefällt mir übrigens sehr, das teil, da steckt für ~80 euronen ja richtig viel drin). klar kannste es mit C behacken, aber von den leistungsdaten, schätze ich, könnte Java (J2ME) oder sogar .NET (windose-ce mit compact framework) drauf laufen. in dem embedded linux haste ja schon alle protokolle, mail-services, usw. dabei, so dass du diesbezüglich nichts mehr selbst machen müsstest. aber wenn du spass dran hast - ich will's dir nicht ausreden.
    🙂



  • Ich mag den kleinen auch, und er erfüllt seinen Zweck sehr gut.

    Ich brauche ja auch keinen Mail-Client, sondern der Sinn des kleinen Programms soll eine Art Auto-Responder für etwas ähnliches wie ein Gewinnspiel sein.
    Man schreibt die Kennung für das Gewinnspiel und die Antwort in eine Mail und bekommt eine Bestätigung wenn alles richtig war.
    Da der Zwerg eh immer läuft soll er diese Aufgabe erfüllen.

    Mit Windows CE könnte es schwierig werden, das Gerät hat keinerlei Vorrichtung einen Bildschirm anzuschließen.
    Ich habe Debian installiert, dabei wurde eine Firmware in den Flash geschrieben die den normalen Debian-Installer der Netwerkinstallation direkt aus dem Internet gestartet hat. Zugriff erfolgt über ssh.


Anmelden zum Antworten