OpenEMM Email Marketing System

Wir setzen neuerdings das Open Source Email Marketing System „OpenEMM“ ein.

Kurz: Seit langem endlich wieder mal eine Software, die mich auf anhieb begeistert. Hat alles was man braucht, aber keinen unnötigen Schnickschnack.

Um unnötigen Konfigurationsaufwand seitens unseres ISPs zu vermeiden, habe ich mich entschieden, die VMWare-Version zu verwenden. Diese basiert auf der Linux Distribution CentOS. Da ich schon früher viel mit RedHat gearbeitet habe, traute ich mir durchaus zu, ohne große Schwierigkeiten die Software an unsere Bedürfnisse anzupassen.

Die Software läuft nun bei uns im Intranet, mit dynamischer IP Adresse. Hierzu waren ein paar Schritte notwendig, um die reibungslose Zusammenarbeit mit unserem ISP sicherzustellen:

  • Die Grundkonfiguration wurde anhand des Handbuches zur VMX-Version vorgenommen
  • in /etc/sysconfig/network muss der FQDN des neuen virtuellen Intranet-Servers eingetragen werden (die VMWare-VM)
  • Die Uhr war ein größeres Problem. Leider läuft unter VMWare auf meinem Notebook generell die Zeit falsch. Entweder zu langsam oder zu schnell. Dazu mehr weiter unten.
  • Sendmail habe ich so konfiguriert, dass der Mailserver unseres ISPs als SmartHost verwendet wird (inklusive SMTP-Auth).

Synchronisation der Uhr

Um die Uhr zu synchronisieren werden auf der VMWare-Website mehrere Vorschläge gemacht, die leider alle nicht zum gewünschten Erfolg geführt haben. Im Endeffekt habe ich nun die dort genannten Kernel-Optionen gesetzt und zusätzlich per Cron-Job die Zeit ein Mal pro Minute über „ntpdate“ synchronisiert.

Optionen in /boot/grub/menu.conf: In der Zeile „kernel vmlinux…“ wurden die Parameter „clock=pmtmr nosmp noapic nolapic notsc“ hinzugefügt

Installation und Konfiguration von NTP:

  • Installation: „yum install ntp“ (als root, selbstverständlich)
  • in /etc/crontab die Zeile „* * * * * root /usr/sbin/ntpdate -b time.windows.com > /dev/null 2>&1“ ergänzen

Sendmail Konfiguration

Für Sendmail müssen zwei Funktionen konfiguriert werden, der SmartHost und SMTP-AUTH.

  • SmartHost:
    in /etc/mail/sendmail.mc die Zeile mit „define(`SMART_HOST‘, …“ suchen und das „dnl“ am Anfang entfernen. Dann die Adresse des Mailservers unseres ISPs eintragen.
  • SMTP-AUTH:
    • als neue Zeile „FEATURE(`authinfo‘,`hash -o /etc/mail/authinfo.db‘)dnl“ einfügen
    • eine neue Datei „/etc/mail/authinfo“ erstellen mit dem Inhalt:
      AuthInfo:mailserver.tld „U:MEINLOGIN“ „P:MEINPASSWORT“ „M:PLAIN“
      (Daten entsprechend ausfüllen. Achtung, „M:PLAIN“ bedeutet, Benutzerdaten werden im Klartext übertragen. Eventuell ebenfalls anpassen)
    • die neue Datei „authinfo“ mit „chmod 660 /etc/mail/authinfo“ schützen
  • Die Sendmail-Konfigurationsdateien müssen nach dem Ändern neu übersetzt werden: „make“ in /etc/mail ausführen.
  • Sendmail neustarten: „/etc/init.d/sendmail restart„.

Das war’s.

Später ergab sich noch ein weiteres Problem, nämlich dass Emails in der lokalen Queue hängen blieben. Ich bin nicht sicher, ob das nur ein zeitlich begrenztes Problem war, und habe, da der Feierabend bereits begonnen hatte, zur Sicherheit in einer Schleife folgendes Kommando ausgeführt:

/usr/sbin/sendmail -q -OQueueDirectory=/home/openemm/var/spool/QUEUE

(Die Email-Queue für OpenEMM liegt im OpenEMM Home-Verzeichnis unter var/spool/QUEUE)

PS: Sorry, dass WordPress die Zeilen so zerreisst. Wenn ich irgendwann mal nichts anderes zu tun habe, werd ich mich auch darum noch kümmern…


Manuel Hirsch

2 Reaktionen zu “OpenEMM Email Marketing System”

  1. Manuel

    Weitere Änderungen zwischenzeitlich:

    Die angegebene Zeile zum Anstoßen der Queue in einer Schleife sollte nicht verwendet werden. Durch diese werden sehr viele Verbindungen gleichzeitig aufgebaut.

    Ich habe den maximalen Jobumfang für’s De-queueing in /etc/mail/sendmail.mc auf 450 begrenzt, da unser ISP nur ca. 500 Mails pro Stunde rauslässt:
    define(`confMAX_QUEUE_RUN_SIZE‘, „450“)dnl
    Mit „QUEUE=1h“ in /etc/sysconfig/sendmail sollten so eigentlich nur einmal pro Stunde max. 450 Mails abgearbeitet werden.

    Leider ist der Aufruf, der die Queue anstößt, in ~openemm/bin/mailer.sh fest mit „5m“ eingetragen. Auch wenn es beim nächsten Upgrade wahrscheinlich überschrieben wird, trage ich die „1h“ dort auch mal testweise ein.

    Diese Einstellungen sind teilweise noch ungetestet, ob es funktioniert sehen wir dann beim nächsten Newsletter.

  2. Adonis

    Wie alle probleme mit der uhr haben^^