E-Mail schicken ?



  • Hallo,
    ich hatte mal zu einem Developer Kontakt, welcher seit 6 Jahren C++ lernt. Er ist 12 Jahre älter als ich und er hat ein Login-Fenster in C++ geschrieben, welches wenn man sich einloggt, die Daten aus den beiden Eingabefeldern(Login, Password), über eine Fake-Email, an seine 2. Email schickt. Wie hat er das gemacht? Das Fenster hat er meines Wissens mit Framework QT gemacht. Ich war da aber noch 12 Jahre alt und hatte keine Ahnung von soetwas. Könnte mir irgendwer ein Beispiel schicken, wie er das gemacht hat? Natürlich nur zur Veranschaulichung.
    LG



  • Erstmal ist für mich unklar was du mit "Login-Fenster" meinst. Einfach nur ein Fenster wo man Felder für Usernamen und Passwort hat? Oder hat er das irgendwie ins OS integriert, so dass es das Login-Fenster vom OS ersetzt hat?

    Dann ist unklar was du mit "über eine Fake-Email, an seine 2. Email (schicken)" meinst. Was heisst "über" eine Fake-Email? Meinst du dass eine nicht-existente Email als Absender verwendet wird? ...?

    Weiters ist unklar womit genau du Probleme hast.

    Und:

    Könnte mir irgendwer ein Beispiel schicken, wie er das gemacht hat?

    Lol, nein.
    Meinst du es setzt sich jetzt jemand von uns hin und schreibt dir ein Beispielprogramm mit dieser Funktionalität und schickt es dir dann? Oder meinst du es gibt irgendwo ein fertiges solches Beispiel und die erfahrenen Programmierer haben da eine geheime Suchmaschine mit der sie solche Beispiele finden können?

    Wenn du eine konkrete Frage hast, frag.
    Wenn du Probleme mit einem konkreten Teil hast dann beschreib den Teil und welches Problem du damit hat.

    Fenster erstellen mit Eingabefeldern drauf ist relativ einfach.
    Emails versenden ist, wenn man auf fertige Libraries oder Commandline-Tools zurückgreifen kann, relativ einfach.
    Emails versenden ohne fertige Libraries/Tools ist etwas für Fortgeschrittene, ganz speziell wenn dabei eine verschlüsselte Verbindung zum Einsatz kommt.
    Und den Login-Dialog des OS zu ersetzen ist etwas für phöse Hacker bzw. Hersteller von recht speziellen Security Tools.



  • Nein ich meine einfach nur, wie man eine Email schickt mit C++



  • Es gibt wirklich haufenweise Bibliotheken, um Emails zu verschicken. Such einfach in der geheimen Suchmaschine Google nach "send email C++".



  • OK, siehst du, das ist eine vernünftige Frage! 🙂

    Wie gesagt ist das ohne Zuhilfenahme von Libraries ein eher fortgeschrittenes Thema. Mit einer fertigen Library ist es einfacher. Dummerweise scheint es nicht "die" C++ SMTP Library zu geben. Es gibt eine grosse Auswahl, aber welche davon wirklich gut sind, kann ich dir nicht sagen.

    Diese beiden scheinen relativ beliebt zu sein:
    https://github.com/karastojko/mailio
    https://github.com/kisli/vmime

    Für beide gibt es auch Beispiele. Wobei die vmime Beispiele auch eher was für fortgeschrittene sind.


    Eine andere Möglichkeit wäre ein Commandline-Tool dazu zu verwenden. Das ist nochmal ein Eck einfacher. Zumindest wenn du dich auf ein OS festlegst. Wenn es plattformübergreifend sein soll könntest du etwas wie Boost.System verwenden um das Commandline-Tool zu starten: https://www.boost.org/doc/libs/1_75_0/doc/html/boost_process/tutorial.html



  • @Mechanics sagte in E-Mail schicken ?:

    Es gibt wirklich haufenweise Bibliotheken, um Emails zu verschicken. Such einfach in der geheimen Suchmaschine Google nach "send email C++".

    Oder "c++ smtp library".

    ps: Nur um Misverständnisse zu vermeiden: Ich finden der Vorschlag "send email C++" ist gut! Denn darauf hätte @redexception auch selbst kommen können und man findet damit brauchbare Ergebnisse. Ich wollte es lediglich noch um einen weiteren Vorschlag ergänzen auf den er vielleicht nicht selbst kommt.



  • Du kannst es sogar ganz ganz billig mit curl besser gesagt libcurl machen. Zumindest wenn du von einem gmail Account aus schickst weiß ich, dass das funktioniert.



  • @Zhavok sagte in E-Mail schicken ?:

    Zumindest wenn du von einem gmail Account aus schickst weiß ich, dass das funktioniert.

    Nein, normalerweise nicht. Du musst "Less secure apps" aktivieren wenn du dich nicht durchs OAuth2 Framework durchkämpfen willst. Aber auf curl würde ich auch setzen. Ist sogar recht einfach gemacht daraus nen kleinen C++ Wrapper zu machen.



  • libcurl ist eine Katastrophe was das Intertface angeht. Meine Empfehlung wäre ganz klar libcurl wenn möglich zu vermeiden.



  • @hustbaer da stimme ich dir voll und ganz zu. Ich hasse libcurl. Das ist einzig mit einem Wrapper zu ertragen. Wollte es nur anmerken, dass es theoretisch auch ganz simpel geht. Eine SMTP Lib ist natürlich die bessere Wahl.



  • Wenn man mit Qt arbeiten möchte ist dir hier ganz ordentlich:
    https://github.com/cutelyst/simple-mail



  • @hustbaer Okay danke. Das Ding ist, bei GMail Mails mit SMTP zu schicken funktioniert nur sehr selten. Spreche da aus Erfahrung(Habe Python davor gelernt):
    LG 🙂



  • @redexception sagte in E-Mail schicken ?:

    @hustbaer Okay danke. Das Ding ist, bei GMail Mails mit SMTP zu schicken funktioniert nur sehr selten. Spreche da aus Erfahrung(Habe Python davor gelernt):
    LG 🙂

    Wenn das so wäre konnte man mit keinem e-mail client GMail konten verwenden.
    Was definitv funktioniert ist das versenden via smtp und mit gültigen gmail account daten. Der smtp client muss nur TLS (STARTTLS) können.



  • @redexception sagte in E-Mail schicken ?:

    Das Ding ist, bei GMail Mails mit SMTP zu schicken funktioniert nur sehr selten.

    https://support.google.com/accounts/answer/6010255?hl=en



  • @firefly mh okay. Also ich habe damals ein Script in py geschrieben, welches genau das macht. Eine E-Mail kam an. Die anderen nicht .


Log in to reply