Maildistributor
Einleitung
Der MailDistributor ist eine optionale Komponente des GSB und wird als eigenständiges Modul des GSB ausgeliefert. Die Installation und Basiskonfiguration des MailDistributors ist somit nicht in der Standard-Installationsanleitung enthalten, sondern wird an dieser Stelle explizit dokumentiert. Die Installation und Konfiguration des MailDistributors wird mit Hilfe des Standard GSB-Deployments, das heißt mit dem Skript gsbinstall, durchgeführt.
Voraussetzungen
Die Installationsvoraussetzungen des GSB-Kerns müssen gegeben sein, die Schritte zur Vorbereitung und Aktivierung eines GSB-Release müssen also durchgeführt worden sein (s.a. GSB Installationsvoraussetzungen).
Weiter ist ein lokaler SMTP-Server (Postfix) auf dem Server notwendig, der für den Versand der Newsletter-Mails und den Empfang eventuell anfallender Bounce-Mails zuständig ist. Für das Bounce Processing ist eine Weiterleitung ankommender Bounce-Mails an den SMTP-Server des MailDistributors notwendig, was beispielhaft für Postfix wie folgt aussehen kann:
Beispielkonfiguration der Postfix-LMTP Weiterleitung
In der main.cf Konfigurationsdatei des Postfix kann die LMTP-Weiterleitung z. B. über den Parameter fallback_transport gesetzt werden:
fallback_transport = lmtp:localhost:1234
oder allgemein
fallback_transport = lmtp:hostname:port
Das hat zur Folge, dass alle Mails weitergeleitet werden, für die der Postfix Endpunkt ist (final destination) und für die kein lokales Postfach (etc/passwd) vorhanden ist.
Damit beim Postfix eingehende Bounce-Mails nicht gleich abgelehnt werden, weil die Listenadressen nicht lokal bekannt sind, müssen diese in einer separaten Liste eingetragen und der Postfix-Konfiguration hinzugefügt werden. Falls noch nicht vorhanden, muss die Datei local_recipients im root-Verzeichnis des Postfix mit einem Texteditor erstellt werden. Als Inhalt können nun Einträge für jede Listenadresse oder eine Wildcard für die Domain definiert werden (Format: key value, wobei value beliebig ist):
listenadresse1@domain.example.de valuelistenadresse2@domain.example.de value
oder
@domain.example.de value
Diese Datei wird mit dem Befehl postmap local_recipients von der Kommandozeile in eine Datei in Postfix-typischem Format (local_recipients.db) konvertiert und der Pfad zu dieser wird dem Parameter local_recipient_maps in der main.cfg hinzugefügt:
local_recipient_maps = proxy:unix:passwd.byname,hash:/etc/postfix/local_recipients
Mit Neustart des Postfix ist die LMTP-Weiterleitung eingerichtet.
Installation
Der MailDistributor ist im GSB-Release parallel zum GSB-Kern als eigenständige Komponente enthalten. Das Verzeichnis MailDistributor enthält die Software sowie Vorlagendateien, die für das Deployment des MailDistributors benötigt werden.
Datenbank
Der MailDistributor kann wahlweise mit einer MySQL oder eine Oracle Datenbank betrieben werden, wobei ein eigener Benutzer (Standard: maildistributor) angelegt werden sollte, für den folgende Berechtigungen konfiguriert werden müssen: Anlegen von Tabellen, Constraints und Sequences (nur Oracle). Die Skripte zum Anlegen der Tabellen createNewsletterTables_MySQL.sql oder createNewsletterTables_oracle.sql befinden sich im sql-Ordner.
Vorbereitung Build-Properties
Die für den MailDistributor benötigten Build-Properties müssen zunächst aus dem Verzeichnis MailDistributor/buildProperties in den Ordner ~cmadmin/admin/config kopiert werden. Für die Installation und den Betrieb des MailDistributors werden die folgenden Dateien benötigt:
- build_cm_tomcat_maildistributor.properties enthält alle Build-Properties, die für die Installation und Konfiguration des MailDistributor Tomcat-Servers benötigt werden.
- webapps/build_cm_webapp_maildistributor.properties enthält alle Build-Properties, die für die Konfiguration der MailDistributor Webapplikation benötigt werden.
- webapps/build_cm_webapp_adminservice.properties enthält alle Build-Properties, die für die Konfiguration der MailDistributor AdminService-Webapplikation benötigt werden.
Verbindungsdaten zur Datenbank
- In der Property tomcat_db_url muss der Hostname database.domain.example durch den passenden Namen des Datenbankservers, in dem die MailDistributor-Datenbank eingerichtet ist, ersetzt werden.
- Der Datenbank-User wird mit Passwort in den Properties: tomcat_db_user und tomcat_db_password definiert.
Verbindungsdaten zum lokalen SMTP-Server (Postfix) für den Mailausgang
Falls der Standardport des SMTP-Servers (25) verändert wurde, muss der Wert der Property maildistributor_smtp_port angepasst werden.
Verbindungsdaten zum LMTP-Server für den Eingang von Bounce Mails
Durch den MailDistributor wird für die Annahme von Bounce-Mails ein LMTP-Server bereit gestellt, der auf dem Port 1234 zu erreichen ist. Damit der lokale SMTP-Server eine Verbindung aufbauen kann, ist der Eintrag localhost, 127.0.0.1 in der Property maildistributor_allowed_hosts notwendig.
Port des maildistributor-tomcats
Der Port des maildistributor-tomcats, auf dem der MailDistributor deployed wird, muss in der Property maildistributor_rest_notification_port hinterlegt werden.
Aktivierung
Nachdem die Build-Properties kopiert und angepasst worden sind, muss die Komponente MailDistributor noch aktiviert werden. Details zur Aktivierung finden sich in der GSB-Installationsanleitung im Kapitel "Aktivierung von Komponenten". Die Aktivierung des MailDistributors wird mit dem folgenden Kommando durchgeführt.
gsbinstall activateComponent $GSB_ADMIN_HOME/config/build_cm_tomcat_maildistributor.properties
Nach Aktivierung des MailDistributors ist dieser unter dem Komponentennamen maildistributortomcat auf dem Server registriert und kann unter diesem Namen installiert und aktualisiert werden.
Installation
Die Installation kann im Rahmen einer Komplettinstallation der GSB-Komponenten eines Servers durchgeführt werden (s.a. Installation der Komponenten).
gsbinstall rebuildSystem
Alternativ kann der MailDistributer auch mit Hilfe des rebuildComponent Deployments mit folgendem Kommando installiert werden:
gsbinstall rebuildComponent maildistributortomcat
Stand nach der Installation
Im Verzeichnis /opt/gsb/active/ wurden die Ordner maildistributor-tomcat sowie MailDistributor erstellt. Die Konfigurationsartefakte befinden sich in MailDistributor/config.
- md_hibernate.cfg.xml - Verbindungsdaten zur Datenbank sowie die weitere Konfiguration von Hibernate
- md_logback.xml - Konfiguration des Loggings
- md_main.properties - Konfiguration des MailDistributors
Im maildistributor-tomcat wurde der MailDistributor in Form der drei folgenden Webapps deployed:
- MailDistributor_Input.war
- MailDistributor_Processing.war
- MailDistributor_Output.war
Die Logs befinden sich standardmäßig im Verzeichnis /space/gsb/active/MailDistributor/var/logs.