Direct Mail, Fetchmail und Bounce Management unter TYPO3

Einfache Integration von Direct Mail, Fetchmail und Bounce Management unter der Version 4.6.1 von TYPO3.

Wichtig: „Erstellen Sie immer ein BACKUP von allen Ihren Dateien! Für Datenverluste oder Beschädigungen übernehmen wir keine Haftung oder Verantwortung! Sie sind im vollem Umfang für Ihre Taten verantwortlich! Diese Anleitung kann unter Umständen nicht bei Ihrer Infrastruktur funktionieren!

Beschreibung und Übersicht

Diese Anleitung ist für die Anwendung unter LINUX/UNIX als Webserver gedacht. Sämtliche Einstellungen sind nur unter LINUX/UNIX lauffähig. Gerne erweitern wir diese Anleitung um Ihre Tipps.

Nachdem Direct Mail korrekt in TYPO3 aufgesetzt wurde und funktioniert, benötigen wir nun eine korrektes Returnmailhandling (Bouncemail). Also ein automatisierter Ablauf der die zurückkommenden E-Mails analysiert, sammelt und in TYPO3 anzeigt. Ziel ist die effiziente Auswertung der Retouren, auch bei einer großen Anzahl an Newsletter Empfänger.

Direct Mail Menü in TYPO3
TYPO3 Directmail Menü
Direct Mail Statistik erstellt von Fetchmail
TYPO3 Directmail Statistik

Voraussetzungen für die Einrichtung

Benötigt wird eine fehlerfrei funktionierende TYPO3 und DirectMail Installation. d.h. der Newsletter Versand muss funktionieren! Sinn macht es nur wenn der Versand per DirectMail über einen Cronjob abläuft - das Hosting muss also von Ihnen konfigurierbare Cronjobs unterstützen. (1h oder mehr Zeitabstand im Cronjob sind ausreichend für Fetchmail).

Sie benötigen zusätzlich ein einwandfrei installiertes Fetchmal (aktuelle Version) und Zugriff mittels FTP auf die Installationsfiles von Fetchmail. Zum Opens external link in new windowDownload bzw. der Konfiguration von Fetchmail gibt es genügen Infos im Web.

Einige Angaben bzw. Pfade auf Ihrem Webserver können sich von den genannten unterscheiden. Dies ist von Webhoster zu Webhoster unterschiedlich. Der Support Ihres Hosters kann Ihnen sicherlich helfen...

1. Vorbereitungen treffen in den DirectMail Einstellungen im Bereich Mail-Headers

Prüfen Sie in Ihren DirectMail Einstellungen (unter TYPO3 im Direct Mail Menü - Konfiguration) ob Sie eine E-Mail Adresse im Bereich Mail-Headers unter Retouradresse (Return Path) angegeben haben. Diese E-Mail Adresse ist für den Empfang der Bouncemails zuständig. d.h. Fetchmail liest automatisch die empfangenen E-Mail und analysiert diese.

Teil der Einstellungen im DirectMail Bereich von TYPO3 - Einstellung der Retouradresse
DirectMail Einstellungen TYPO3

2. Vorbereitungen in Fetchmail - die Datei fetchmailrc erstellen

Suchen Sie auf Ihrem FTP Server die Datei „fetchmailrc“ - Sie finden diese Datei unter dem Pfad /etc/fetchmail/fetchmailrc bzw. müssen diese Datei unter /etc/fetchmail/ erstellen. (Einfach eine neue Datei mit Ihrer FTP Applikation erstellen und zum editieren öffnen). Suchen Sie nicht im HTML Ordner sondern eine Ebene darunter - Sie brauchen also Zugriff auf die Webserver Files. Ist die Datei schon vorhanden machen Sie immer ein Backup der original Datei!

Nun müssen wir die Daten der Retour Mailbox eintragen. Das sind der Post-Eingangsserver, der User, das Kennwort der Mailbox und den Pfad zur Direct Mail Datei returnmail.phpsh

Folgende Codezeilen einfügen und mit Ihren Daten ergänzen: 

poll POSTEINGANGSSERVER proto imap
user USER
password KENNWORT
mda "/html/typo3/typo3conf/ext/direct_mail/res/scripts/returnmail.phpsh"

3. Cronjob für Fetchmail erstellen und zuweisen

Der nächste Schritt ist die Erstellung des Scriptes cronjobfm.sh das vom noch zu erstellenden Cronjob aufgerufen wird und die Applikation Fetchmail serverseitig aufruft. Wir führen die Erstellung wieder per FTP durch.

Zuerst die Datei cronjobfm.sh im HTML Verzeichnis Ihres Servers erstellen und mit folgendem Code befüllen:

#!/bin/sh
/usr/local/fetchmail/bin/fetchmail -f /etc/fetchmail/fetchmailrc --pidfile /tmp/fetchmail.pid

Nun nachdem wir das aufzurufende Script erstellt haben müssen wir den aufrufenden Cronjob erstellen. Hier ist wieder von Hoster zu Hoster im Detail einiges unterschiedlich aber grundsätzlich ähnlich. Rufen Sie das Script serverseitig auf. Geben Sie dem Cronjob einen Namen (für Ihre Übersicht). Geben Sie den Pfad zum File cronjobfm.sh (haben wir zuvor erstellt) ein. Aktivieren Sie den Cronjob. Aktivieren Sie die Fehlerbenachrichtigung. Geben Sie eine E-Mail für die Fehlerbenachrichtigung an. Vergeben Sie einen Ausführungszeitpunkt für diesen Cronjob.

Als Ausführungszeitpunkt ist oft ein einmaliger Aufruf am Abend ausreichend - oder Sie wählen einen anderen Intervall aus.

Einstellungen für den Fetchmail Cronjob - ruft die Datei cronjobfm.sh auf.
Fetchmail Cronjob

4. Prüfen von Fetchmail auf korrekte Funktion in der DirectMail Statistik

Nachdem wir alle Schritte durchgeführt haben sollte nun zum vorgesehenen Cronjob Ausführungszeitpunkt die Mailbox mit den Retour E-Mail abgearbeitet werden. Sie werden per E-Mail informiert sofern etwas mit Fetchmail nicht funktioniert. Ziemlich sicher ist ein falscher Pfad vorhanden!

Wenn Sie keine Fehlermeldung erhalten haben - dann funktioniert Fetchmail einwandfrei...

Anzeige der Retour Statistik in DirectMail - von Fetchmail erstellt.
Statistik Fetchmail und Directmail

Nun ist es für Sie recht einfach die Newsletter aktuell zu halten. Dazu stehen einige TYPO3 Werkzeuge zur Verfügung. Prüfen Sie jedoch zuerst die E-Mail Empfänger bevor Sie diese aus dem System löschen!

Wichtiger Tipp zur Datei dmailerd.phpcron von DirectMail

Je nach dem wie gut Ihre TYPO3 installation konfiguriert wurde oder auch nicht - hier noch ein Tipp falls es nicht funktioniert. Die Datei dmailerd.phpcron muß eventuell leicht geändert werden! Sie finden diese Datei unter folgendem Pfad in Ihrer TYPO3 Installation: typo3/typo3conf/direct_mail/res/scripts/

Kommentieren Sie folgende Codezeilen aus dem Script (ca. Zeile 46):

if (!defined('PATH_site')) define('PATH_site', dirname(dirname(dirname(dirname(dirname(dirname(PATH_thisScript)))))).'/');
if (!defined('PATH_t3lib')) if (!defined('PATH_t3lib')) define('PATH_t3lib', PATH_site.'t3lib/');

Fügen Sie den folgenden Codeblock anstatt ein / Prüfen Sie den Pfad in Ihrer TYPO3 Installation

// Auskommentiert USER DATE
// if (!defined('PATH_site')) define('PATH_site', dirname(dirname(dirname(dirname(dirname(dirname(PATH_thisScript)))))).'/');
// if (!defined('PATH_t3lib')) if (!defined('PATH_t3lib')) define('PATH_t3lib', PATH_site.'t3lib/');
// Um die folgenden zwei Zeilen erweitert chriskapeller from worknode.COM 28-11-2011
define(PATH_site,'/html/typo3/');
define(PATH_t3lib,'/html/typo3/typo3_src/t3lib/');

Wichtiger Tipp zur Datei returnmail.phpsh von DirectMail

Je nach dem wie gut Ihre TYPO3 installation konfiguriert wurde oder auch nicht - hier noch ein Tipp falls es nicht funktioniert. Die Datei returnmail.phpsh muß eventuell leicht geändert werden! Sie finden diese Datei unter folgendem Pfad in Ihrer TYPO3 Installation: typo3/typo3conf/direct_mail/res/scripts/

Kommentieren Sie folgende Codezeilen aus dem Script (ca. Zeile 45):

if (!defined('PATH_site')) define('PATH_site', dirname(dirname(dirname(dirname(dirname(dirname(PATH_thisScript)))))).'/');
if (!defined('PATH_t3lib')) if (!defined('PATH_t3lib')) define('PATH_t3lib', PATH_site.'t3lib/');

Fügen Sie den folgenden Codeblock anstatt ein / Prüfen Sie den Pfad in Ihrer TYPO3 Installation

// Auskommentiert USER DATE
// if (!defined('PATH_site')) define('PATH_site', dirname(dirname(dirname(dirname(dirname(dirname(PATH_thisScript)))))).'/');
// if (!defined('PATH_t3lib')) if (!defined('PATH_t3lib')) define('PATH_t3lib', PATH_site.'t3lib/');
// Um die folgenden zwei Zeilen erweitert chriskapeller from worknode.COM 28-11-2011
define(PATH_site,'/html/typo3/');
define(PATH_t3lib,'/html/typo3/typo3_src/t3lib/');

Anpassen der Ausführungsrechte der Datei returnmail.phpsh

Die Ausführungseinstellungen der Datei returnmail.phpsh müssen eventuell leicht geändert werden! Sie finden diese Datei unter folgendem Pfad in Ihrer TYPO3 Installation: typo3/typo3conf/direct_mail/res/scripts/

Die Ausführungsrechte sollten auf 755 lauten.

Update 04/2012 - Kontrolle der TYPO3 DirectMail Scripte auf Ausführungsrechte

Es passiert immer wieder, daß nach einem TYPO3 Update Scripte oder Dateien überschrieben werden bzw. die Ausführungsrechte auf den default Zustand gesetzt werden. Bitte kontrollieren Sie daher die Datei: returnmail.phpsh Diese sollte immer noch mit 755 laufen! Sonst werden die Mails nicht mehr korrekt gelesen.

Vielen Dank
Ihr büro für visuelle gestaltung
www.worknode.com