vb-net
Goto Top

Sendmail mit Textdatei

Hallo,

ich will im lokalen Netzwerk von meinem Debianserver Emails versenden aus einem Script.

Das Script erstellt ein Backup (bald^^) und soll eine Logdatei erzeugen.

Dieser Inhalt soll als Email versendet werden an eine Emailadresse.

1. Muss ich Sendmail konfigurieren sprich in der Config einen Mailserver eintragen usw?
2. Man kann die TXT-Datei als Anhang verschicken. Wie kann ich den Inhalt der Textdatei senden?

Zur Info: Es wird ein Exchange-Server genutzt.


Oder soll ich ein anderes Mailprogramm nutzen?
Gruß

VB-NET

Content-ID: 111910

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

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

jhinrichs
jhinrichs 20.03.2009 um 08:17:39 Uhr
Goto Top
Hallo,

ad 1.: Sendmail muss natürlich irgendwie konfiguriert werden. Die meisten Linuxe erledigen eine Basiskonfiguration allerdings bei der Installation mit. Wenn ich Dich richtig verstanden habe, soll alle Mail vom Debiansystem zum Exchangeserver gehen, also bietet es sich an, den Exchange als Smarthost bei sendmail einzutragen.

ad 2.: Unter Linux gibt es dann Programm "mail", das meistens standardmäßig mit installiert wird, sonst über apt-get nachinstallieren. Dann kannst Du mit folgendem Kommando aus der Batch Deine Logdatei als Emailinhalt versenden (ich weiß, es gibt eine kürzere Schreibweise, aber diese hier finde ich übersichtlicherface-smile
cat logdatei.txt | mail empfaenger@meine.domain
VB-NET
VB-NET 20.03.2009 um 09:04:42 Uhr
Goto Top
Hi,
muss ich eig auch einen Postausgagnsserver oder so angeben? Wäre von Vorteil glaub ich.

Wo muss ich "mail" konfiguerien?

Denn er sendet keine Mails raus.

Proxy hängt auch noch zwischen.
jhinrichs
jhinrichs 20.03.2009 um 09:30:50 Uhr
Goto Top
"mail" muss nicht konfiguriert werden, es verschickt seine Mails standardmäßig über localhost:25, dort sollte ja sendmail lauschen. "Postausgangserver", oder MTA (=Mail Transport Agent) auf Deinem Linux-System ist der sendmail, der seinerseits (wie gesagt, wenn ich Dich richtig verstanden habe) alle Mails an den Exchange zur Weiterleitung schicken soll. Exchange fungiert also als Mail-Relay, im sendmail-Sprachgebrauch als "Smarthost".
In die sendmail.mc (oder so ähnlich, kann sich von Distribution zu Distribution unterscheiden) kommt dann folgende Zeile:
define(`SMART_HOST',`[exchangeserver.meine.domain]')dnl   
Beachte die unterschiedlichen Anführungszeichen!

Anschließend noch
m4 sendmail.mc > sendmail.cf
und sendmail neu starten.
Wenn der Exchange eine SMTP-Authentifizierung verlangt, wird es komplizierter, hier ein ganz gutes HowTo:
http://www.screaming-penguin.com/node/4214

Nebenbei: sendmail ist Geschmackssache, ich persönlich bevorzuge postfix, aber darüber lässt sich trefflich streiten...
VB-NET
VB-NET 20.03.2009 um 09:35:32 Uhr
Goto Top
Hi,

also nochmal :

Ich will aus der Shell eine Datei verschicken.

In unserem Netzwerk hängt ein Exchangeserver. Dort muss ich doch angeben, dass wir einen Exchange haben - also in Mail.

Wenn ich so normal was versenden will -> geht nicht.

gruß

Vb-net
jhinrichs
jhinrichs 20.03.2009 um 15:26:56 Uhr
Goto Top
habe ich doch schon geschrieben: Auf dem Linuxsystem läuft ein (sollte jedenfalls) MTA. Das kann sendmail, postfix, exim oder noch ein anderer sein. Der lauscht auf Port 25 auf localhost und wartet auf Mails, die ihm von dem mail-Kommando angeliefert werden.
Was gibt das Kommando
lsof -i :25
aus?


Übrigens: Mit Betreffzeile:
cat logdatei.txt | mail -s "Mein Betreff" empfaenger@meine.domain  

Den MTA muss man dann so konfigurieren, dass er die Mail an den Exchange weiterleitet.
Wenn Du schreibst " versenden geht nicht" heißt das was?
Kommt eine Fehlermeldung oder kommt die Mail nicht an?
Was findet sich im Logfile (meist /var/log/mail oder /var/log/maillog)?
VB-NET
VB-NET 20.03.2009 um 21:02:15 Uhr
Goto Top
Hi,

MTA -> wo liegt die Config-Datei?

Es kommt keine Fehlermeldung sondern er legt im var/log/mail eine Datei "dead.letter" ab.

Es kommt nichts am Postfach an.

In der dead.letter steht nur der Inhalt der Datei.

gruß
jhinrichs
jhinrichs 23.03.2009 um 07:57:34 Uhr
Goto Top
Unter Bezug auf meine Postings weiter oben:

was sagt
lsof  -i  :25
auf der Kommandozeile?

Was steht im Logfile? (Sollte auch in /var/log/mail liegen)

Vorausgesetzt, Du hast sendmail installiert (auch die Frage hast Du noch nicht beantwortet), dann ist sendmail der MTA. Zur Konfigurationsdatei s. mein Posting weiter oben (20.3., 9:30Uhr)

Viele Grüße