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 🙂
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.