![]() |
Mail aus einem Script senden
Hallo
Seit tagen quält mich ein kleines Problemchen, dass ich einfach nicht hinbekomme. Ich möchte einfach nur eine Mail aus einem Shellscript senden (soll die Benachrichtigung eines Fehlers sein). Habe schon mit mail+postfix, pine, mutt herum probiert aber es will mir nicht gelingen. Eigentlich möchte ich gar keinen MTA laufen haben, d.h. ich muss den SMTP Server vom Provider angeben und Userid und PW (weil SMTP Server es verlangt). Hat jemand eine einfach Lösung? |
Naja, soviel ich verstanden habe brauchst Du einen MDA, der Deine Mail an den SMTP des Providers schickt. Ansonsten pipe-st Du einfach die Nachricht an mail.
|
Genau das ist mein Problem. Ich habe Postfix ausprobiert, funktionierte aber nicht weil Postfix sich am Mailserver nicht authentiziert. Aber eigentlich wollte ich mir das ersparen. Unter Windows gibt es zig Mailprogramme die das alles ganz einfach erledigen. Ich kann mir nicht vorstellen das es sowas unter Linux nicht gibt. Soviel ich weis kann man das mit sendmail erreichen, allerdings, ich hab es zumindest versucht, wird daraus eine Doktorarbeit.
|
postfix/exim und smtp auth sollte eigentlich kein problem sein? sendmail ist nur ein weiterer mta, ich würde dir zu exim/postfix raten.
unter linux gibt es übrigens auch unzählige mail programme wie evolution, kmail, thunderbird,... wo du ohne mta auskommst, aber du möchtest eben per script arbeiten. ;) http://www.linuxforen.de/forums/showthread.php?t=66785 http://postfix.state-of-mind.de/patr...tter/smtpauth/ http://www.pro-linux.de/t_netzwerk/p...-HOWTO-de.html 2 |
Hi!
einen MTA hast Du zwar sicher laufen, aber wenn's ein Script sein soll, dann PERL! http://search.cpan.org/~gbarr/libnet/Net/SMTP.pm http://lists.suse.com/archive/suse-l...-Dec/3342.html Grüße Manx |
Probiers mit einem einfach bash Script.
#!/bin/sh telnet 12.34.56.78 25 <<+++++ ehlo irgendwas auth plain olzzlcgB172V8AHBhcdM== mail from: dein@abssender.at rcpt to: dein@empfaenger.com data Dein Text Mehrtext ....tralalala . quit +++++ Alles was zwischen den beiden "+++++" steht wird per telnet an den Server geschickt. Alles zwischen "data" und "." ist der Text deiner Mail. Einen Betreff kann man mit "Subject: Betreff" zwischen data und Text einfügen. Die SMTP Authentifizierung ist ein wenig schwieriger. Dazu musst du zuerst deinen Usernamen/Passwort MIME codieren. printf 'deinusername\0deinusername\0passwort' | mimencode Den Output davon trägst du dann nach dem auth plain ein. |
Zitat:
Zitat:
|
Zitat:
Wird aber von allen mir bekannten MTAs per default komplett ignoriert. Weil einfach zu viele "broken Clients" unterwegs sind (so wie dieser z.B. ;-). Lediglich manche Spamfilter bemerken es korrekterweise. |
Das mit dem telnet Script gefällt mir sehr gut. Ich hab es ausprobiert nur irgendwas passt nicht ganz. Verbindung wird vom Server sofort beendet.
Trying 213.165.64.20... Connected to mail.gmx.at. Escape character is '^]'. Connection closed by foreign host. Händisch funktioniert es, also User und PW mime encodet müssten passen. |
Das mit dem telnet Script gefällt mir sehr gut. Ich hab es ausprobiert nur irgendwas passt nicht ganz. Verbindung wird vom Server sofort beendet.
Trying 213.165.64.20... Connected to mail.gmx.at. Escape character is '^]'. Connection closed by foreign host. Händisch funktioniert es, also User und PW mime encodet müssten passen. |
Also "kraenker" gehts kaum noch, oder? ;)
Robi1a: Ganz einfache Loesung: Du installierst wieder postfx lokal auf Deinem Rechner und konfigurierst es so, dass es alle Mails an einen Smarthost (den SMTP-Server Deines Providers) weiterleitet. Eine Anleitung dazu gibt es unter http://efflandt.freeshell.org/sbc-smtp-auth.html Anschliessend kannst Du einfach auf der Kommandozeile "mail" verwenden, um Mails zu versenden. HTH |
Zitat:
Mich wundert vielmehr, daß es offenbar keine Alternative dazu gibt. Zumindest hab ich vor einiger Zeit im google intensiv danach gesucht, aber absolut nichts gefunden. Zitat:
|
Das ist nicht krank, das ist "the UNIX way" ;)
Ein UNIX System geht im Normalfall davon aus, dass ein MTA installiert ist. Es gaebe da auch noch das eine oder andere Perl-Script, das genau das kann, was robi1a sucht. http://search.cpan.org/~mthurn/Email...-1.007/Auth.pm http://www.logix.cz/michal/devel/smt...ted=1&msgid=31 |
Krank oder nicht krank. Viele Wege führen nach Rom. Das was ich erreichen will ist, dass eine Mail geschickt wenn die tägliche Sicherung nicht korrekt durchläuft. Also normalerweise krieg ich keine Mail. Und weil eben keine Mail verschickt soll Postfix laufen? Find ich eigentlich sinnlos. Wobei es überhaupt nicht darum geht wieviel ein nichts tuender Postfix an Ressourcen braucht.
Mein Verständnis von UNIX-like ist, daß UNIX (egal welches) so flexibel ist, daß man es sich auf wirklich 100% seiner Bedürfnisse anpassen kann. Und das versuche ich damit. m@rio vielleicht noch ein Tipp. Ich habe es jetzt hinbekommen sogar mit den SMTP Meldungen. Ich habe einfach telnet durch netcat ersetzt. |
die 100%ige anpassung an deine bedürfnisse findet folgendermaßen statt ...
wenn ein mail verschickt werden soll, vorher scriptmäßig den MTA starten und nach erfolgreichem mail-versand wieder beenden ;) ... |
http://esmtp.sourceforge.net/
vielleicht ist das was du suchst |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 23:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag