HTML Newsletter via Shell Script

Als ich diesen Beitrag im Apple Forum gelesen hatte, erinnerte ich mich an sendEmail. Damit lassen sich über das Terminal Emails verschicken, ohne dass man zuerst mail oder gar sendmail konfigurieren muss. Es ist ein sehr praktisches Perl-Skript, mit dem man u.a. auch Anhänge versenden kann. Das Besondere ist aber eine recht neue Funktion, mit der man dem Programm den Email-Inhalt komplett übergeben kann, also auch den Email-Header. Auf diese weise lassen sich wunderbar gemixte HTML/TXT Emails (also Newsletter) verschicken.
Um zu verstehen wie so eine Multipart Email aussieht und warum überhaupt, empfiehlt es sich das hier zu lesen. Am Ende speichert man halt so etwas in der Art:


From: Hubi Schulze <from@domain.com>
Content-Type: multipart/alternative;
boundary=SendEmail-2--315609391
Subject: TestMail 222
Date: Sun, 23 Jan 2011 22:46:10 +0100
To: to@domain.com
Mime-Version: 1.0
--SendEmail-2--315609391
Content-Transfer-Encoding: 8bit
Content-Type: text/plain;
charset=UTF-8
This is your text
--SendEmail-2--315609391
Content-Transfer-Encoding: 8bit
Content-Type: text/html;
charset=UTF-8
<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><b>This is your text</b></body></html>
--SendEmail-2--315609391--

…als Text Datei ab und verschickt es mit dem Code hier via sendEmail (sendEmail und die Text-Datei liegen dabei auf dem Schreibtisch):

~/Desktop/sendEmail -f from@domain.com -t to@domain.com -s smtp.gmail.com:25 -xu gmailusername -xp gmailpassword -o tls=auto -o message-format=raw -o message-file=~/Desktop/mymail.txt

Schaut man sich den Quellcode (reine Datei) eine Email in Apple Mail an, kann man auch gut sehen, wie so eine Email-Datei aufgebaut ist. Apple Mail verschickt nämlich selber solche Multipart Emails, sobald die Nachricht Formtierungen enhält… Wie man via Apple-Mail einen einfachen HTML-Newsletter verschicken kann (inkl. Animationen die auch auf dem iPhone sichtbar sind) schreibe ich später mal.

Leave a Reply