muck007
Goto Top

E-Mail versenden per Bash-Befehl

Hallo zusammen,

ich würde gerne per Bash-Befehl von einem Debian-System aus eine E-Mail an einen Exchange Server schicken. Beide Systeme befinden sich im selben Netzwerk.
Versucht hab ich das mit dem Befehl mail.

mail -s 'Test' empfänger@domain.de

Irgendwie funzt das aber nicht. Irgendwie habe ich die befürchtung das ich noch irgendwo was eintragen muss, bin jetzt aber nicht so der Linux Spezi und stehe somit ein wenig auf dem Schlauch. Wür mich über Hilfe sehr freuen. Danke

Content-ID: 166226

Url: https://administrator.de/contentid/166226

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

Skyemugen
Skyemugen 13.05.2011 um 13:40:08 Uhr
Goto Top
Aloha,

nun da fehlt ja auch der body ...

echo Ein Bestimmter Body | mail -s Betreff empfänger@domain.de

oder ohne body:

mail -s Betreff empfänger@domain.de < /dev/null

oder diese Variante

greetz André

google ...
muck007
muck007 13.05.2011 um 13:46:34 Uhr
Goto Top
hmm, habs mal so ausprobiert, da kommt aber irgendwie nix beim exchange an.
perseues
perseues 13.05.2011 um 13:49:48 Uhr
Goto Top
Hallo,

was sagt denn das Maillog, meist in /var/log/maillog?

Soweit ich weiß, (hab jetzt kein Linux/Unix greifbar) darf nach dem Parameter -s kein Leerzeichen sein.

Grüße perseues
muck007
muck007 13.05.2011 um 13:56:27 Uhr
Goto Top
Auszug aus /var/log/maillog

May 13 13:13:49 debian01 sendmail[7480]: p4DCDnAX007480: to=blabla@test.com, delay=00:00:00, mailer=esmtp, pri=30066, dsn=4.4.3, stat=queued
bugmenot2
bugmenot2 13.05.2011 um 13:58:44 Uhr
Goto Top
Hallo,

kontrolliere mal unter /etc/postfix/mail.rc

der Eintrag
mydestination = xd253s012, localhost.localdomain, , localhost
relayhost = 172.16.253.99
sollte gesetzt sein.

Was auch noch sein kann das du unter dem Exchange bei Server Configuration unter Hub Transport
den Server als Anonymous hinterlegen musst.

Mails aus der Shell versenden geht zb so:

echo "Nagios Backup Job: var/log erledigt. Alle Jobs erfolgreich durchgelaufen" | mail -s "Nagios Backup" tkis-it.hotline@tkin.local
perseues
perseues 13.05.2011 um 14:07:08 Uhr
Goto Top
die Nachricht landet in der Warteschlange. Wahrscheinlich weiß Dein sendmail nichts von Deinem Exchange.
Du müßtest dafür die /etc/mail/sendmail.mc bearbeiten und danach
m4 sendmail.cf < sendmail.mc
ausführen.

Wie gesagt, hab gerade kein Unixoid in der Nähe, aber schau mal hier:

www.revsys.com/writings/quicktips/sendmail-mc.html und hier www.sendmail.org/m4/intro.html. Vielleicht hat aber Deine Distri eine grafische Konfigurationsmöglichkeit (aka Yast beu SUSE.org).

Grüße perseues
muck007
muck007 13.05.2011 um 15:01:17 Uhr
Goto Top
Ja es liegt wahrscheinlich genau daran das sendmail den Exchange nicht kennt. Ich muss die irgendwo in der /etc/mail/sendmail.mc die IP zum Exchange angeben, weiß aber nicht wo.

Hab mal Desktop seitig versucht mit Evolution eine E-Mail an den Exchange zu versenden und da geht das auch, allerdings musste ich auch dort vorher die IP des Exchange angeben.
perseues
perseues 13.05.2011 um 17:46:38 Uhr
Goto Top
Du musst den Exchangeserver als Smarthost eintragen. Hier eine Schritt für Schritt Anleitung:

www.walkernews.net/2010/05/18/how-to-configure-sendmail-to-relay-email-to-exchange-server/

Grüße perseues
Lochkartenstanzer
Lochkartenstanzer 14.05.2011 um 06:20:43 Uhr
Goto Top
Das ganze ist davon abhängig, welchen MTA er benutzt: sendmail, exim, postfi oder vielleicht ganz was anderes. Soweit ich weiß, benutzt debin in der Standardkonfiguration exim. Also daher im der exim-Konfiguration nachschauen.

Zur Not müßte auch ein

dpkg-reconfigure -p low exim (oder postfix oder sendmail)

wieder das Menü hochbringen, in dem man den smarthost setzen kann.
muck007
muck007 16.05.2011 um 09:00:03 Uhr
Goto Top
Danke euch, habe es nach perseues Anleitung gemacht und hinbekommen.