Emails in einem Contao Modul versenden

Um Emails in Contao zu versenden kann man die vorhandene Contao Klasse Email verwenden. Wie diese verwendet wird kann beispielsweise im Newsletter-Modul nachgeschaut werden.

Hier ein wenig Beispielcode:

$email=new Email();
$email->from='from@absender.de';
$email->fromName='Alfred Absender';
$email->subject='Test-Nachricht';
$email->text = 'Lorem ipsum...... usw.';
$email->sendTo('empfaenger1@xyz.de,empfaenger2@xyz.de');

Etwas verwirrend ist die Methode, die für die Übergabe von Email-Adressen verwendet wird. Hier am Beispiel von CC-Empfängern:

public function sendCc()
{
  $this->objMessage->setCc($this->compileRecipients(func_get_args()));
}

Die Signatur der Methode enthält keine Parameter. In PHP ist es dennoch möglich Parameter zu übergeben. Über die PHP Funktion func_get_args() werden diese schließlich abgerufen. Der Methode kann somit mehrere Empfänger als einzelne Parameter übergeben werden. Ich persönlich finde das nicht so schön, da man in der Entwicklungsumgebung nicht sofort erkennen kann, wie die Methode zu verwenden ist. Ich bevorzuge Methoden über die man einzelne Empfänger hinzufügen kann z. B. addCC($email). Da bin ich halt zu sehr durch andere Programmiersprachen geprägt (C++, Java).

Ein Gedanke zu “Emails in einem Contao Modul versenden

  1. Danke für das Tut. Ich bin grad dabei mir ein jQuery Ajaxform Modul zu erstellen und möchte die mit der Contao eigenen Klasse versenden. Hat mir sehr weitergeholfen. Gruß

Kommentar verfassen