Hallo an alle,
in der 2.1.17 war eine meiner Aufgaben, die LT Mails und generell die
Mails ein wenig aufzuräumen. Es gibt im xRes diverse Mailerklassen, die
voneinander ableiten oder sich gegenseitig aufrufen (Mailer, xMailer,
xResMailer, myMailer, ...).
Es ist natürlich sinnvoll, diese ganzen Mailklassen mal zu
vereinheitlichen. Damit habe ich mal angefangen. Unter
*lib/classlib/Mailer* habe ich eine abstrakte Basisklasse gebaut, welche
die ZFX_Mail nutzt. Für die schnelle Nutzung habe ich eine generische
Mailerklasse dazugelegt (*Mailer_Generic*), welche wie gewohnt mit
Betreff, Absender, Empfänger und Text gefüllt werden kann und einfach
abgesendet. Bei anspruchsvolleren Sachen (z.B. die Nutzung von
Templates) habe ich für meine Fälle Spezialklassen erstellt, welche dann
noch Buchungen holen und auswerten oder Ähnliches.
Die Klasse ist nichts außergewöhnliches. Aber um das Mailschicken zu
vereinheitlichen benötigen wir nun mal eine Basis. Ich hab nur ein
kleines Gimmick eingebaut: auf DEV und STAGING werden beim Senden alle
CC und BCC gelöscht und als Empfänger wird die Entwickler Mail Adresse
eingetragen. Man kann also nicht ausversehen irgendwelche Mails aus dem
Testsystem feuern. Wenn man was testen will, kann man mit
setBackupEmailAddress() eine Mailadresse injizieren. So kann jeder
Entwickler zum Testen Mails zum Testen an sich selbst schicken. Falls
der Quellcode dann so live geht, ist die Funktionalität dennoch
gewährleistet.
Die Nutzung der generischen Klasse ist recht simpel, wie gewohnt halt.
$mailer = new Mailer_Generic();
$mailer->addTo('r.lange(a)activate.de');
$mailer->setSubject('Testmail');
$mailer->setTextContent('Testinhalt');
$mailer->sendMail();
Es wäre schön wenn ihr in Zukunft diese Klasse(n) zum Mailschicken
nutzen würdet, und, wenn ihr grade an anderen Mailern arbeitet, diese
umstellt. Falls noch Funktionalität fehlt, meldet euch, dann bau ich die
natürlich ein.
René
--
René Lange
- Leiter Entwicklung -
activate communication systems GmbH
G.-Schumann-Str. 294
04159 Leipzig
telefon: (+49) 0 341 90987 507
email: r.lange(a)activate.de
Geschäftsführer: Markus Hartwig, Rainer Jansen
Handelsregister: Amtsgericht Leipzig (HRB 21850)