Mails verschicken über PHP
Über eZ Publish gibt es eine ganz einfache Möglichkeit Mails zu versenden. Dazu reichen 8-9 Zeilen Code. 🙂
Die PHP-Klasse eZMail bietet alle Funktionen die man dazu braucht. Hier ein klassisches HTML Mail Beispiel:
$mail = new eZMail();
$mail->setContentType('text/html');
$mail->setSender($email);
$mail->setReceiver($email);
$mail->setSubject('HTML - MAIL Template');
$mailtpl =& templateInit();
$mailcontent = $mailtpl->fetch('design:mail/'.$template.'.tpl');
$mail->setBody($mailcontent);
$mailResult = eZMailTransport::send($mail);
Kurze Erklärung der Befehle
Initialisierung der eZMail Klasse.
$mail = new eZMail();
SetContent muss nicht unbedingt gesetzt werden – Default wäre text/plain, dh. reiner Text.
$mail->setContentType('text/html');
Absender Mail Adresse
$mail->setSender('dho@silversolutions.de');
Empfänger Mail Adresse
$mail->setReceiver('dho@silversolutions.de');
Betreff für die eMail
$mail->setSubject('eZMail Test');
Inhalt
Dazu muss man nicht unbedingt ein Template setzen, natürlich kann man auch hier direkt den Text reinschreiben. Die ersten beiden Befehle könnte man sich somit auch sparen.
// Fetch Template mail/*
$mailtpl =& templateInit();
$mailcontent = $mailtpl->fetch('design:mail/myownemail.tpl');
$mail->setBody($mailcontent);
Dieser Befehl ist für den Versand zuständig, die Funktion gibt weiters ein true/false zurück, je nachdem ob es alles geklappt hat.
$mailResult = eZMailTransport::send($mail);
Kurze Anmerkung:
Im Template muss das gesamte HTML Konstrukt eingebunden werden, eZ Publish macht dazu nichts. Natürlich kann man auch Mails mit Anhang versenden. Hier gibt es eine Liste der Befehle.
Weitere Links:
- eZMail Dokumentation (PHP)



