Aktuelle Seite:

baten.de > bITlog Artikel

bITlog News

HTML-Mail mit Linux sendmail versenden

10.01.2011 16:07 von Holger Baten

Motivation

Mein bereits erwähntes Script für unser Server Monitoring sendet im Fehlerfall eine Mail

 

mail -s "batenit Monitoring - Probleme erkannt" alarm@mydomain.de < $nachricht

 

Nun wollte ich der Einfachheit halber direkt eine HTML-Seite, die für den Abruf ohnehin bereit liegt, via Mail senden.

 

So gehts

Dies geht aber nur, wenn Mime-Type und Content-Type im Mail-Header gesetzt werden. Dies ist mit mail so nicht möglich, aber mit sendmail. Per Kommandozeile kann man einzelne Header zwar nicht mitgeben, aber dafür eine Textdatei, in der sich Mail-Header UND Mail-Body befinden. Diese Datei setze ich nun zur Laufzeit über den cat Befehl zusammen und kippe/pipe das Ergebnis in das sendmail Programm:

 

cat mail-header.txt mail-body.html | /usr/sbin/sendmail alarm@mydomain.de

 

die Datei mail-header.txt kann z.B. so aussehen:

To: alarm@mydomain.de
From: BatenIT Monitoring <ec2-monitor@mysubdomain.batenit.de>
Subject: +++ Warnung, Probleme mit einer Web-Seite
MIME-Version: 1.0
Content-Type: text/html; charset=\"iso-8859-1\"
[Leerzeile]

 

Die Leerzeile am Ende sorgt dafür, dass die folgenden Zeilen (mail-body.html) als Mail-Body interpretiert werden.

 

Es ist zu beachten, dass die To: und From: Header eben nur Header sind, d.h. für die Empfänger Adresse gilt das, was dem sendmail Progamm als Parameter mitgegeben wird.

Zurück

Einen Kommentar schreiben

Blog Archiv

Stöbern Sie im Blog Archiv nach alten und neuen Einträgen.