
Nachfolgend ein paar Codezeilen die ich gerne in Joomla verwende um E-Mails zu versenden. Die dafür benötigte Klassen ist JMail und im Detail unter diesem Link zu finden.
Joomla API 3.x JMail: https://api.joomla.org/cms-3/classes/JMail.html
Joomla API 3.x JFactory::getMailer: https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer
Die nachfolgenden Zeilen haben folgendes Resultat:
- Abfrage der in Joomla hinterlegten E-Mailadresse aus der Konfiguration
- Abfrage des E-Mail Abesendenamens aus der Joomla Konfiguration
- verwenden eines Subjekts / einer Betreffzeile
- verwenden eines Mailbodies im Textformat
- verwenden einer gegebenen E-Mailadresse aus z.B. einem Formular
- senden der E-Mail als Blind Copy an die hinterlegte E-Mail in Joomla
Joomla JMail erzeugen und senden einer E-Mail
Der Code sieht wie folgt aus, wobei folgende Werte in der Variable übergeben werden:
- $user_email = E-Mailadresse z.B. max@mustermann.de
Die Kommentare in den Zeilen darunter sind jeweils eine kurze Erklärung zum Code.
Zeile | Code |
1 | $config = JFactory::getConfig(); // laden der Joomla Klasse JFactory und der Methode getConfig zum abrufen der Systemeinstellungen |
2 | $aSender = array( $config->get( ‘mailfrom’ ), $config->get( ‘fromname’ ) ); // speichern der in Joomla hinterlegten E-Mailadresse und des Absendenamens |
3 | $mailer = JFactory::getMailer(); // laden der Joomla Klasse JFactory und der Methode getMailer zum erstellen der E-Mail |
4 | $mailer->setFrom($aSender[0], $aSender[1]); // setzen der Absender Mailadresse und des Absendernamens, aus der Joomla Konfiguration für das E-Mail “von Feld” |
5 | $mailer->setSender($aSender); // setzen des Absenders – siehe Zeile4 |
6 | $mailer->addRecipient($user_email); // den Empfänger mit seiner E-Mailadresse hinzufügen |
7 | $mailer->setSubject(“Herzlich Willkommen”); // das Subjekt / die Betreffzeile festlegen |
8 | $body = “Hallo Besucher,” .”\n\nund vielen Dank für deinen Besuch auf Taste-of-IT.de.” . “\nHier steht der weitere Text” ); // den Mailtext / Mailbody in der Variable $body schreiben |
9 | $mailer->setBody($body); // den Mailtext / Mailbody mit dem Inhalt der festlegen |
10 | $mailer->addReplyTo($aSender[0], $aSender[1]); // setzen des Feldes “senden An” / “Reply to” mit der E-Mailadresse und den Namen aus der Joomla Konfiguration |
11 | return $mailer->Send(); // senden der E-Mail und Rückgabe des Statuscodes zum Erfolg oder Misserfolg |
So kann die Erstellung und der Versand einer Tex-E-Mail aus Joomla aussehen. Have Fun 🙂
Antworten