Über Perl ein HTML-Mail versenden

1.5.2014 2 Minuten zum Lesen

Hin und wieder kommt es vor, dass man aus einem seiner Programme eine Mail verschicken möchte. Purer Text bietet sich häufig an, manchmal muss es aber etwas mehr sein: HTML. Die Auszeichnungssprache ermöglicht nicht nur auf Webseiten die Gestaltung, sondern auch in Mails. Bekanntester Vertreter sind wohl Newsletter. Gerade mit Tabellen kann man viele Zahlen schön veranschaulichen und übersichtlicher darstellen.

Vorraussetzungen für den HTML-Mailversand

Ich bin schnell auf das Perl-Modul MIME::Lite gestoßen um HTML-Mails zu versenden. Die Warnung im CPAN habe ich mal getrost ignoriert. Auf meinem Uberspace-Host war das Modul bereits vorhanden. Unter Debian-Systemen installiert man sich das Paket libmime-lite-perl bzw. unter Archlinux perl-mime-lite. Das sollte es mit den Voraussetzungen für Perl gewesen sein. Ich habe ehrlich gesagt keinen Plan was man auf MTA -Seite machen muss.

Aus einem Perl-Programm heraus HTML-Mails versenden

Und nun kommt der Perl-Schnipsel, der die Welt verändern wird:

#!/usr/bin/perl
use MIME::Lite;

my $mailer = new MIME::Lite (
    From    => 'Testemail <test@demaya.de>',
    Subject => 'Super Subject!',
    Type    => 'text/html',
    To      => 'mail.mail@gmail.com',
    Data    => '<h1>Titel</h1><p>Absatz</p><p><b>Fetter Text</b></p>'
);

$mailer->send();

Das Ergebnis kann sich sehen lassen:

Über Perl lassen sich ansehnliche HTML Emails verschicken

Mit etwas Übung und SELFHTML-Unterstützung lassen sich ansehnliche und überschaubare Emails stricken. Das Anwendungsgebiet geht wirklich von Jobausgaben über FHEM-Alarme hin zu Reports, die irgendein System generiert.

Quellen und weiterführende Informationen