Erfolgreicher Drupal 7 HTML Mail Versand mit MimeMail, PHPMailer, [Simplemail, SMTP, ...)

Erfolgreicher Drupal 7 HTML Mail

HTML-Emails zu versenden ist in Drupal 7 generell kein Problem. Mit den Modulen mimemail.module + mailsystem.module klappt dies wunderbar.
Etwas schwieriger wird es leider, wenn der Webserver nicht gleichzeitig auch der Mailserver ist und somit ein SMTP Mailserver verwendet werden soll. Wie ihr dies dennoch schnell und einfach hinbekommt, erläutert dieses HowTo!

Meine erste Recherche hat mich dem Namen nach auf das smtp.module gebracht, welches auch für Drupal 7 verfügbar ist.

Nach zahlreichen Problemen in Kombination mit mimemail.module trat Ernüchterung ein. E-Mails wurden entweder nur teilweise über SMTP verschickt oder die HTML-Darstellung ergab reinen Zeichenbrei. Ich habe zahlreiche verschiedene mailsystem.module Konfigurationen ausprobiert, in unserer Konstellation jedoch allesamt ohne Erfolg.
Das muss nicht in jedem Projekt der Fall sein, hier ergab sich jedoch eine Sackgasse!

Zum Glück gibt es eine bessere Lösung anhand des phpmailer.module zur SMTP-Anbindung, da dieses Modul bereits das mimemail.module berücksichtigt und integriert.
Nun war also nur noch die richtige Konfiguration der Module gefragt:

Die wichtigen Schritte beschreibe ich nachfolgend:

  1. Die genannten Module wie bekannt installieren und aktivieren. PHPMailer: Readme.txt lesen. Ich empfehle zusätzlich die Datei "PHPMailerAutoload.php" mit das phpmailer library Verzeichnis zu legen, da sie erfahrungsgemäß von der Library benötigt wird!
  2. SMTP-Verbindungsdaten in den phpmailer Einstellungen eintragen (admin/config/system/phpmailer) und eine Testmail senden (Erfolg setze ich hier voraus ;))
  3. WICHTIG: Die Option "Use PHPMailer to send e-mails" DEAKTIVIEREN! Danach wird als Warnmeldung angezeigt: "PHPMailer is currently disabled." Das ist korrekt, da wir die Aktivierung via MimeMail verwenden.
  4. MailSystem Einstellungen konfigurieren (admin/config/system/mailsystem): Site-wide default MailSystemInterface class => "MimeMailSystem" wählen! "Theme to render the emails" => "Standard" ist in der Regel das Theme, über welches die Mails einheitlich gerendert werden sollen.
  5. MimeMail konfigurieren (admin/config/system/mimemail): Sender E-Mail Adresse und Name eintragen. Die weiteren Einstellungen sind Euch überlassen. Unten dann "E-Mail Sendemethode": "PHPMailer [...]" wählen.
  6. Das war's! Nun könnt ihr z.B. über ein Kontaktformular, Passwortanforderung o.Ä. Eure Mails testen!

Wenn Euch dieser Tipp geholfen hat, freue ich mich auf Kommentare!

Für individuelle Drupal CMS Modulentwicklung, Theming, Updateservice und mehr besucht http://www.DROWL.de

Comments

Great Tutorial!

Hi Julian,

after trying all kinds of setups to send out notifications for groups that were not possible with the SMTP AND PHPMAILER module in standalone-mode this did the job. Thanks for sharing!

Best
Torsten

Post new comment

The content of this field is kept private and will not be shown publicly.

More information about formatting options