E-Mail aus einem C-Programm heraus abschicken?



  • Moin, Moin...

    Ist es möglich eine E-Mail aus einem C-Programm heraus abzuschicken und wenn ja, wie? (Unix oder Linux)

    Danke im voraus...



  • da gibt es mehrere Möglichkeiten, entweder du schreibst dir eine eigene SMTP Implementierung oder du benutzt sendmail (bzw. einen sendmail Wrapper) oder du lässt dir vom User sagen, wie du welches Mail Programm ansteuern sollst



  • du kannst auch popen verwenden um (zB) /usr/lib/sendmail direkt zu verwenden um dein e-mail reinzuschreiben. sieht in etwa so aus

    FILE *fp = popen ("/usr/lib/sendmail", "w");
    
    fprintf (fp, "To: user@host.de\nCC: user2@host.de\nSubject: Hallo\n\nbodytext");
    
    pclose (fp);
    

    dazu muss natürlich sendmail richtig konfiguriert sein... beachte: der hostuser (root, dein user) bekommt die mail zurück wenn was ned stimmt....

    ansonsten würde ich esmtp verwenden um das mail zu senden...
    http://freshmeat.net/projects/esmtp/?topic_id=32

    STi

    [ Dieser Beitrag wurde am 21.03.2003 um 19:58 Uhr von STiAT editiert. ]



  • Sorry das ich noch mal diesen alten Thread rauskrame, aber ich bin neu hier und er befasst sich genau mit dem Problem was ich hab.

    Meine C++ Kenntnisse unter Linux tendieren eher zum Grundwissen, weshalb ich hierzu noch eine Frage hab.

    FILE ist ja sicher eine Klasse, aber was muss diese beinhalten?



  • Nein, FILE ist keine Klasse, sondern eine Struktur.

    aber was muss diese beinhalten?

    das ist implementations spezifisch. Darum musst du dich aber nicht kümmern



  • Achso - danke
    Problem hat sich inzwischen auch gelöst.

    #include <sdtio.h>
    
    void main()
    {
    FILE *fp = popen ("/usr/lib/sendmail -t", "w"); 
    
    fprintf (fp, "To: user@host.de\nCC: user2@host.de\nSubject: Hallo\n\nbodytext"); 
    
    pclose (fp);
    }
    

    So funktioniert es jetzt auch bei mir 🙂


Anmelden zum Antworten