Mit immer größeren Anwendungen, die mit Structr erstellt werden, wurde deutlich, dass es einen Bedarf an flexibleren Möglichkeiten zum Versenden von E-Mails innerhalb von Structr gab, als die beiden vorhandenen Mailfunktionen boten. Selbst einfache Konzepte wie mehrere Empfänger, CC oder BCC waren nicht möglich. Also skizzierte ich ein paar Ideen und diskutierte mit dem Team, wie man das Versenden von E-Mails wieder großartig machen könnte (SCNR).
Das Hauptziel bei der Entwicklung des Advanced Mail Module war maximale Flexibilität. Aus diesem Grund können alle neuen Mail-Funktionen schrittweise verwendet werden, bis die E-Mail vollständig konfiguriert und versandfertig ist. Bei Bedarf kann eine vollständig konfigurierte E-Mail auch geändert und in einer anderen Konfiguration versendet werden. Jeder Parameter, der eingestellt werden kann, kann auch wieder gelöscht oder zumindest überschrieben werden (für obligatorische Parameter).
- Erforderliche Parameter
- Adresse des Absenders
- Thema
- HTML-Inhalt
- mindestens eine Empfängeradresse (entweder als TO:, CC: oder BCC:)
- Optionale Parameter
- Name des Absenders
- Inhalt des Textes
- Zusätzliche Empfängeradresse(n) mit optionalem(n) Namen (entweder als TO:, CC: oder BCC:)
- Anlage(n) (mit optionalem Dateinamen anstelle des „echten“ Dateinamens)
- Reply-To Adresse(n)
- Bounce-Adresse
- Benutzerdefinierte E-Mail-Kopfzeile(n)
Die Grundeinstellung besteht immer aus dem Aufruf der Funktion `mail_begin()`, dem Hinzufügen zusätzlicher Konfigurationsparameter über eine der Funktionen `mail_add_…()` und schließlich dem Versenden der fertig konfigurierten Mail mit der Funktion `mail_send()`. Danach ist die Mail immer noch verfügbar und vollständig konfiguriert und kann geändert und erneut versendet werden. Dies ermöglicht Anwendungsfälle wie Massen-E-Mails, bei denen zum Beispiel die Betreffzeile oder der Text für jeden Empfänger personalisiert wird.
Mit den 20 neuen Funktionen zur Konfiguration der Mails anstelle von nur 2 haben wir das Ziel erreicht, den Mailversand flexibler und weniger mühsam zu gestalten.