E-Mail Channels

Grundlagen zu E-Mail Channels und Adaptoren und deren Verwendung.

Short Facts

  • Konfigurierbare E-Mail Versandwege
  • Getrennte Versandwege für Transaktions- und Marketingsmails
  • Erweiterbare Versandverfahren (Adaptoren)

 

Einführung und Grundlagen

Ein E-Mail Channel ist ein konfigurierbarer Versandweg für ausgehende E-Mails. Im Channel können Absender und Empfänger Adressen für die E-Mails eingestellt werden und das Versandverfahren (z.B. Sendmail oder SMTP) ausgewählt werden. Über Adaptoren können andere Versandverfahren einfach in E-Mail Channels integriert werden.

Über verschiedene E-Mail Channels für Transaktionsmails (z.B. Bestellbestätitung oder Passwort-vergessen) und Marketingsmails (z.B. Newsletter oder Gutscheine) kann der E-Mail-Versand über verschiedene Mail-Server geleitet werden. Dadurch lässt sich der Mail-Traffic voneinander treffen und ein Spam-Blacklisting des Marketing E-Mail Channels hat keinen Einfluss auf das Versenden von Transaktionsmails.

Über Alias Channels können Channels miteinander verknüpft werden und so der Konfigurationsaufwand minimiert werden.

Im Standard-Setup wird ein E-Mail Channel "default" erstellt. In diesem ist das Standard-Versandverfahren für E-Mails festgelegt. Weitere System E-Mail Channels werden als Alias zum "default" Channel erstellt. So muss nur einmalig der "default" Channel für den Mail-Versand konfiguriert werden und alle anderen Channels nutzen dessen Versandweg fürs Versenden von E-Mails. Wenn ein anderer Channel ein abweichendes Versandverfahren nutzen soll, kann die Alias-Verknüpfung zum "default" Chanel gelöst werden und im Channel der Versandweg konfiguriert werden.

Über die Mail-Adressen in den E-Mail Channels lassen sich unterschiedliche Typen von Channels realisieren.

Für den Versand von Mails an einen variablen Empfängerkreis (z.B. Shop-Kunden) empfiehlt es sich, nur die Default Absender Adresse zu setzen. So kann beim Mail-Versand alle Mail-Adressen abweichend gesetzt werden und es bleibt ein großer Freiheitsgrad erhalten.

Für den Versand von Mails an einen fixen Empfänger/-kreis (z.B. Server-Admin oder Report-Empfängerliste) empfiehlt es sich, die Absender und Empfänger in den Default-Adressen zu hinterlegen. So kann der Mail-Versand nur mit Angabe des Channels erfolgen und es muss keine eigene Konfiguration von Mail-Adresse realisiert werden, da dies bereits im Channel vorhanden ist.

 

E-Mail Adaptoren

Über E-Mail Adaptoren können verschiedene Versandverfahren für E-Mail Channels bereitgestellt werden. Für andere Versandverfahren können eigene Adaptoren ("em_emailadaptor_base" Schnittstelle) nachgerüstet werden.

Für einen E-Mail Channel wird ein Adaptor eingestellt und konfiguriert. Der Adaptor kann über die Methode "emailAdaptor_getConfigDialog" seinen Konfigurationsdialog bereitstellen.

Aktuell sind die folgenden Adaptoren unterstützt:

  • em_emailadaptor_smtp - Mail Versand über SMTP Server
  • em_emailadaptor_sendmail - Mail Versand über Sendmail Binary auf dem Server
  • em_emailadaptor_alias - Mail Versand über anderen E-Mail Channel
  • em_emailadaptor_blackhole - Kein Mail Verand. Adaptor nimmt Mails entgegen und meldet den Versanderfolg zurück, ohne weitere Aktionen.

 

eCMS E-Mail Versand

Der Versand einer E-Mail über einen Channel kann mit der Methode " $eCMS->email_send(...)" durchgeführt werden.

Code-Beispiel

  1. $eCMS->email_send(
  2.     array(
  3.         'email_channel' => 'system',
  4.         'from' => 'production.server@example.com',
  5.         'to' => 'hostmaster@example.com',
  6.         'subject' => 'Server Status ...',
  7.         'body_text' => 'Mail body in plain text..',
  8.         'body_html' => '<p>Mail body in HTML ...</p>',
  9.     )
  10. );

Über den Parameter " email_channel" wird der E-Mail Channel für den Versand adressiert. In diesem Beispiel der Channel "system". Wird kein E-Mai Channel in den email_send-Parametern gesetzt, wird der "default" Channel verwendet.

 

eCS E-Mail Versand

Der Versand einer E-Mail über einen Channel kann mit der Methode " $eCS->email_send(...)" durchgeführt werden.

Code-Beispiel

  1. $eCS->email_send(
  2.     array(
  3.         'email_channel' => 'ecs-customer-marketing',
  4.         'from' => 'auftrag@example.com',
  5.         'to' => 'max.mustermann@domain.com',
  6.         'subject' => 'Ihre Bestellung A03933',
  7.         'body_text' => 'Mail body in plain text..',
  8.         'body_html' => '<p>Mail body in HTML ...</p>',
  9.     )
  10. );

Über den Parameter " email_channel" wird der E-Mail Channel für den Versand adressiert. In diesem Beispiel der Channel "ecs-customer-marketing". Wird kein E-Mai Channel in den email_send-Parametern gesetzt, wird der "default" Channel verwendet.

In der eCommerceSuite werden die folgenden System Channels bereitgestellt:

  • ecs-customer-marketing - Über diesen Channel sollen Marketingmails an die Kunden verschickt werden.
  • ecs-customer-transaction - Über diesen Channel sollten Transaktionsmails an die Kunden verschickt werden.
  • ecs-internal-transaction - Über diesen Channel sollten Transaktionsmails an den Shop-Betreiber verschickt werden.

In den Comproc Prozessobjekte können die E-Mail Channels für den Versand ausgewählt werden.