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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111910
Url: https://administrator.de/contentid/111910
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
7 Kommentare
Neuester Kommentar
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 übersichtlicher
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 übersichtlicher
cat logdatei.txt | mail empfaenger@meine.domain
"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:
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...
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
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...
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
aus?
Übrigens: Mit Betreffzeile:
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)?
Was gibt das Kommando
lsof -i :25
Ü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)?
Unter Bezug auf meine Postings weiter oben:
was sagt
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
was sagt
lsof -i :25
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