Ob Datensicherung, Updates oder geplante Aufgaben, fast jeder Vorgang kann in sogenannten Logfiles mitprotokolliert werden. Statt sich nun mühsam diese Protokolle einzeln an den Servern oder Rechnern anzuschauen, gibt es auch eine Möglichkeit, die Logfiles per Mail versenden zu lassen. Beispielsweise könnten z.B. Robocopy Logfiles von verschiedenen Servern auf eine bestimmte E-Mailadresse gesendet werden um diese nachher auszuwerten. Wie dies mit Hilfe von blat funktioniert, beschreibe ich ausführlich in diesem Artikel.

Windows Logfiles per Mail versenden

Blat ist ein weit verbreitetes Programm um E-Mails über die Kommandozeile zu versenden. Unter anderem findet es z.B.  in der ServerView Suite von Fujitsu Verwendung. Das nützliche Tool ist offiziell als Public Domain lizenziert und kann kostenlos für jegliche Zwecke verwendet werden – egal ob privat oder gewerblich.

In meinem Beispiel verwende ich blat um Backup Logfiles per Mail zu versenden. Zunächst einmal benötigen wir die aktuelle Version des Tools, welche wir über blat.net herunterladen können. Verfügbar sind jeweils die x86 und x64 Versionen für Microsoft Windows. Nach dem Download können wir den Inhalt des Verzeichnisses „full“ entweder in das Verzeichnis kopieren, von wo aus wir unser späteres Skript starten, oder – noch einfacher – wir kopieren die Dateien in das Verzeichnis %windir%\system32. Letzteres bringt den Vorteil, dass wir die Datei blat.exe von jedem Pfad aus aufrufen können.

Logfiles per Mail versenden
Diese Dateien müssen in den Skriptpfad oder nach C:\Windows\System32 kopiert werden.

Blat für die Verwendung konfigurieren

In meinem Szenario, dem Versand eines Backupprotokolls an eine E-Mailadresse, verwende ich einen Microsoft Exchange Server, der per smtp angesprochen werden kann. Der Mailserver hört auf den Alias smtp.domain.local. Mehr als diese Informationen benötige ich in diesem Fall nicht. Mit der folgenden Zeile versende ich die Datei protokoll.txt per Mail an die Adresse protokolle@domain.tld:

blat protokoll.txt -server smtp.domain.local -f administrator@domain.tld -to protokolle@domain.tld -subject „Backupprotokoll Server xyz“

Erklärung der Parameter:

  • -server
    Angabe des Mailservers, über den die Mail versendet werden soll. Logischerweise muss hier der Postausgangsserver angegeben werden.
  • -f
    E-Mailadresse, die für den Versand genutzt werden soll. Diese Adresse muss dem zuvor definierten Postausgangsserver bekannt sein.
  • -to
    E-Mailadresse des Empfängers
  • -subject
    Die Betreffzeile der ausgehenden Mail

Dieses Beispiel zeigt eine sehr einfache Art, Logfiles per Mail versenden zu können. Blat bietet aber noch sehr viel weitere Parameter an. Eine Übersicht über die möglichen Funktionen erhält man durch Eingabe von blat /?. Die nützlichsten Optionen sind meiner Meinung nach

  • -p (-profile)
    Bei mehreren Absendern können Profile angelegt werden, die in der Windows Registry gespeichert werden.  Mit den Paramtern -u und -pw können zudem noch Anmeldedaten dem Profil zugeordnet werden
  • -port
    Hier kann der Port für die Verbindung zum Mailserver angepasst werden.
  • -attach
    Mehrere Dateien hinzufügen. Dateinamen müssen durch ein Komma getrennt werden.

Auf eine wichtige Einschränkung möchte ich noch hinweisen: Blat funktioniert derzeit (noch) nicht mit Mailservern, die eine SMTP-Authentifizierung verlangen. Das betrifft eigentlich sämtliche externe Maildienste, wie gmail, outlook.com oder auch web.de. Hier kann man sich bei Bedarf mit dem Tool stunnel behelfen (Anleitung hier). Ich hoffe mal, dass diese Funktion in den nächsten Versionen noch hinzugefügt wird.  Für den Gebrauch mit einem eigenen Mailserver, dessen Clientauthentifizierung selbst angepasst werden kann, eignet sich blat.exe aber hervorragend um u.a. Logfiles per Mail versenden zu können.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.