Mail unter Linux
-
Hallo,
Habe ein kleines Problem und zwar:
Habe ein Programm in C++ geschrieben, welches mir gewisse Systeminformationen bringt und diese sollen nun per Mail an mich gesendet werden. Nun stehe ich vor dem Problem, da ich in C++ unter Linux keine Mailfunktion einbauen will (kann(?)). Die Frage stellt sich nun für mich ob es unter Linux irgend einen Befehl gibt mit dem ich ein Mail senden kann sowas wie:mail mail@hotmail.com der text hier
sodass mein C++ Programm lediglich diesen Befehl aufrufen muss.
Oder muss ich hier eine Sockets Anwendung coden, welche sich zu einem SMTP Server verbindet und von dort aus eine Mail an mich sendet?Bin für alle Informationen und Anregungen dankbar...
Danke
MFG Tobias
-
Normalerweise benutzt man das Programm man: sendmail(1) zum versenden von E-Mails. (Wobei das sendmail-Programm nicht direkt mit "sendmail" dem (schrecklichen) MTA zusammen hängt. Unter Unix/Linux bietet im Grunde jeder MTA ein sendmail-Programm an (zB Exim, ssmtpd, Qmail, Postfix etc))
Ansonsten könntest du auch selbst direkt SMTP nutzen um den Mail-Server anzusteuern (siehe FAQ). Aber ich würde dir eher die Verwendung von sendmail empfehlen.
-
Ich würde an Deiner Stelle einfach
FILE *stream; stream = popen("mail -s [i]Betreff[/i] [i]eMail-Adresse[/i]", "w");
aufrufen und die Daten mit fprintf(stream,...) an das Programm "mail" schicken. Als letzte Zeile erwartet mail einen "." - damit ist die Nachricht dann abgeschlossen.
-
KISS - "Keep it simple and stupid" und "Make each program a filter" können helfen.
=> Warum lässt Du das C++-Programm nicht auf stdout schreiben und pipest durch mail?
Oder muss ich hier eine Sockets Anwendung coden, welche sich zu einem SMTP Server verbindet und von dort aus eine Mail an mich sendet?
Das wäre imo "mit Kanonen auf Spatzen schiessen".
EDIT Klar gibt's "mail" und ggf "mailx" unter Linux !?!?! /EDIT
Grüsse
*this