Datei an Email-Adresse schicken



  • Guten Abend,

    ich bin gerade dabei ein C++ Programm für die Uni zu schreiben. Nun fehlt nur noch eine Option:
    Ich muss eine Datei (Text-File mit verschiedenen Messwerten) an eine spezielle Uni-Email-Adresse schicken.
    Ich habe bisher aber noch keinen richtigen verwendbaren Ansatz gefunden.
    Als Mailserver würde ich einfach mein web.de Account benutzen
    mit smtp.web.de und pop3.web.de

    Kann mir jemand weiterhelfen?

    Vielen Dank!

    (BTW: die größe der Datei ist relativ unwichtig, max. 0,5MB im Normalfall jedoch weitaus weniger)



  • Ah. Mail ist eine etwas haarige Angelegenheit. Die Protokolle selbst sind nicht so richtig schwer, aber es gibt gerade bei öffentlichem Mail-Relais eine Menge zu beachten, bevor die einen Mail verschicken lassen -- aufgrund des großen Spam-Aufkommens lassen die nicht alles so ohne weiteres durch. Wenn das Ding auf einem Uni-Rechner laufen soll, wäre es vermutlich sinnvoller, sich direkt an einen SMTP-Server der Uni zu wenden, der die Adresse bedient. Wende dich dafür am besten vertrauensvoll an deinen Systemadministrator bzw. die Leute im Rechenzentrum.

    Dann gibt es eine Reihe von Möglichkeiten, wie man da rangehen kann. Unter UNIX ist es nicht unüblich, den Kram direkt durch sendmail zu pipen und das System den Rest machen zu lassen; dafür muss dieses aber entsprechend eingerichtet sein (einen MTA haben, der weiß, wo die Mail hinmuss). In einem ordentlich betriebenen Rechenzentrum würde ich das für interne Mail erwarten, aber ich kann das natürlich nicht mit Bestimmtheit sagen, ohne mehr über das Anwendungsfeld zu wissen. Ansonsten gibt es eine Reihe von C++-Bibliotheken, die einem Teile der Arbeit abnehmen können; so spontan fallen mir VMime und natürlich POCO ein. Dann musst du aber Serverfehler selbst behandeln und dein eigenes Spooling betreiben, und wenn du es wirklich über web.de machen willst (was mir nicht sehr sinnvoll erscheint), vermutlich auch POP vor SMTP und dergleichen.



  • Danke erstmal für deinen Beitrag!
    Ich hab mich jetzt auch noch etwas ausführlicher damit beschäftigt und hab gemerkt dass das für meine zwecke zu komplex ist.

    Fakt ist, ich muss ein Programm für verschiedene Messwerte schreiben (ist erledigt!). Nun sollen die Messwerte an die Email-Adresse geschickt werden. Es ist jedoch kein Muss, dies mit C++ zu realisieren.

    Mein Idee wäre nun, ein Programm in einer anderen Programmiersprache zu schreiben, das mit die datei test.txt aus einem bekannten Verzeichnis an eine bekannte Email-Adresse schickt.

    Welche Programmiersprachen würdet ihr für dieses Problem empfehlen?



  • Josh.Schr. schrieb:

    Mein Idee wäre nun, ein Programm in einer anderen Programmiersprache zu schreiben, das mit die datei test.txt aus einem bekannten Verzeichnis an eine bekannte Email-Adresse schickt.

    Welche Programmiersprachen würdet ihr für dieses Problem empfehlen?

    XD

    Jetzt mal schnell eine Programmiersprache und Netzwerkprogrammierung lernen... warte mal... 😃


  • Mod

    Ich würde einen Mailserver auf dem Rechner installieren und einfach dieses Programm benutzen, anstatt selber einen zu implementieren.



  • Hacker schrieb:

    Josh.Schr. schrieb:

    Mein Idee wäre nun, ein Programm in einer anderen Programmiersprache zu schreiben, das mit die datei test.txt aus einem bekannten Verzeichnis an eine bekannte Email-Adresse schickt.

    Welche Programmiersprachen würdet ihr für dieses Problem empfehlen?

    XD

    Jetzt mal schnell eine Programmiersprache und Netzwerkprogrammierung lernen... warte mal... 😃

    Wo steht bitte das ich nur eine Programmiersprache behersche??
    Ich programmiere seit mehreren Jahren in bis zu 5 Sprachen ...
    Meine Frage war lediglich, ob es in einer anderen Sprache weitaus einfacher funktionieren würde. Also bitte spar dir solchen Mist!



  • SeppJ schrieb:

    Ich würde einen Mailserver auf dem Rechner installieren und einfach dieses Programm benutzen, anstatt selber einen zu implementieren.

    Das wäre natürlich auch eine Alternative.
    Welchen Mailserver würdest du empfehlen?

    Viele Dank


  • Mod

    Josh.Schr. schrieb:

    Das wäre natürlich auch eine Alternative.
    Welchen Mailserver würdest du empfehlen?

    sendmail



  • SeppJ schrieb:

    Josh.Schr. schrieb:

    Das wäre natürlich auch eine Alternative.
    Welchen Mailserver würdest du empfehlen?

    sendmail

    Betriebssystem:
    Win 98/Win 95/Win NT 4.0

    Kennst du vll auch einen aus diesem jahrtausend? : )



  • Bei Windows wird das schwer, da man schon ziemlich hardcore sein muss, sich soetwas zu trauen.



  • was ist los mit dir Ethon. warum bist du zum troll mutiert?



  • oOText schrieb:

    was ist los mit dir Ethon. warum bist du zum troll mutiert?

    Ich hatte einfach noch nie in meinem Leben Kontakt mit einem Windows-hosted Mailserver. Ich weiß irgendwo gibt es sie, aber in der überragenden Mehrzahl der Fälle ist da ein Linux am Werkeln.

    sendmail ist nicht aus dem letzten Jahrtausend, es ist sehr aktuell auf Unixkisten, Windows ist sein Problem, nicht sendmail.





  • @EOP

    Und soll er dann Username und Passwort im Quelltext hinterlegen, wenn die E-Mail automatisiert geschickt werden soll? 😃



  • EOP schrieb:

    http://www.codeproject.com/Articles/98355/SMTP-Client-with-SSL-TLS
    Funktioniert hervorragend.

    Genau, sowas habe ich gemeint... das sieht schon sehr gut aus!
    Hast du das schon mal in ein Programm eingebunden?
    Vll kannst du mal einene Bsp. Code posten.

    Vielen DANK!



  • Josh.Schr. schrieb:

    EOP schrieb:

    http://www.codeproject.com/Articles/98355/SMTP-Client-with-SSL-TLS
    Funktioniert hervorragend.

    Genau, sowas habe ich gemeint... das sieht schon sehr gut aus!
    Hast du das schon mal in ein Programm eingebunden?
    Vll kannst du mal einene Bsp. Code posten.

    Vielen DANK!

    Du hast doch schon die komplette Klasse. Musst du eben in deinen code integrieren.

    Edit:
    Ein Bsp. findest du in main.cpp



  • Ich habe das projekt jetzt in mein visual c++ importiert.
    beim kompilieren kommt schon der erste Fehler:
    (gleich am Anfang in der main)

    #if defined(test_gmail_tls)
    		mail.SetSMTPServer("smtp.gmail.com",587);
    		mail.SetSecurityType(CSmtp::USE_TLS);
    

    Error; "class" CSmtp"" hat keinen Member ""USE_TLS"".

    Und so ist es auch, in der Klasse ist nichts von USE_TLS zu finden ; )



  • Hallo,

    die verwendete main.cpp passt nicht zur entsprechenden CSmtp-Klasse, man kann jetzt schreiben:

    #if defined(test_gmail_tls)
               mail.SetSMTPServer("smtp.gmail.com",587);
               mail.SetSecurityType(USE_TLS);
    

    MfG,

    Probe-Nutzer



  • Unglaublich! Genau das habe ich gesucht!

    Das Programm läuft nach dieser o.g. Änderung zu 100% !
    Ich bin euch wirklich sehr dankbar!

    👍 👍 👍

    -> Kann geschlossen werden & Link in FAQ aufgenommen werden, falls das noch nicht geschehen ist.


Anmelden zum Antworten