WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   Mail aus einem Script senden (http://www.wcm.at/forum/showthread.php?t=159411)

robi1a 22.02.2005 00:41

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?

Juro 22.02.2005 09:53

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.

robi1a 22.02.2005 21:36

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.

spunz 22.02.2005 22:14

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

MANX 22.02.2005 23:01

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

m@rio 22.02.2005 23:05

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.

_m3 23.02.2005 10:50

Zitat:

Original geschrieben von m@rio
ehlo irgendwas
Das ist so nicht richtig. RFC 2821 definiert ganz genau, was nach dem EHLO zu stehen hat:
Zitat:

4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO)

These commands are used to identify the SMTP client to the SMTP
server. The argument field contains the fully-qualified domain name
of the SMTP client if one is available. In situations in which the
SMTP client system does not have a meaningful domain name (e.g., when
its address is dynamically allocated and no reverse mapping record is
available), the client SHOULD send an address literal (see section
4.1.3), optionally followed by information that will help to identify
the client system.
ftp://ftp.rfc-editor.org/in-notes/rfc2821.txt

m@rio 23.02.2005 11:25

Zitat:

Original geschrieben von _m3
Das ist so nicht richtig. RFC 2821 definiert ganz genau, was nach dem EHLO zu stehen hat
Stimmt.
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.

robi1a 24.02.2005 19:53

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.

robi1a 24.02.2005 19:53

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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag