Vorbereitung / gut zu wissen
Diese Übung baut auf der Array-Übung Massen-Mailversand 1 auf und geht davon aus, dass du diese schon gemacht hast. Das array wird so erweitert, dass auch eine persönliche Anpsrache möglich ist. Die E-Mail-Adresse aus dem Array wird ausserdem sowohl für den Versand, als auch für den Anmeldelink gebraucht. Es geht also einerseits um mehrdimensionale Arrays, aber auch darum, mit Stringfunktionen zu arbeiten.
Falls du die Übung 1 noch nicht gemacht hast, oder das Arbeiten mit den Stringfunktionen erst mal isoliert ausprobieren möchtest, kannst du den Schritt mit dem Vorbereiten des Mailtextes auch ohne Schleife machen und nur mit den vordefinierten Variablen arbeiten. Lade dir in diesem Fall die Script-Vorlagedateien einladung-mailversand.zip herunter, bereite eine Variable für die E-Mail ($empfaenger_email) und eine für den Namen ($empfaenger_name) vor und mache nur Schritt 3-7
Anleitung
- Erst einmal erweiterst du das Array $mail_empfaenger so, dass für jede Person statt nur einer E-Mail-Adresse ein Unterarray besteht (es entsteht ein Mehrdimensionales Array) Jedes dieser Unterarrays soll ein assoziatives Array sein, welches jeweils einen Eintrag für den Namen und einen für die Emailadresse enthält. Die Schlüssel dürfen auch genau so heissen - 'name' und 'email' zum Beispiel. Nun wirst du die Empfänger mit Namen ansprechen.
- In der Schleife wirst du nun mit dem Namen und der E-Mail Adresse arbeiten. Zum Testen kannst du diese also beide per echo ausgeben lassen.
- Passe nun den String in $mail_text so an, dass statt der unpersönlichen Ansprache Hallo lieber Kunde der GanzInBlau ein Platzhalter verwendet wird, zum Beispiel Hallo [EMPFAENGER_NAME]. Den Platzhalter [EMPFAENGER_NAME] wirst du später jeweils mit dem Namen aus dem Array ersetzen.
- Der Anmeldelink soll sich nun ebenfalls für jeden Empfänger ändern, weshalb du auch statt der eingebundenen Variable $anmeldelink nun einen Platzhalter [ANMELDELINK] einfügen musst, analog zum Schritt 3.
- Erstelle nun in der Schleife eine Variable, die den Anmeldelink enthält, aber zusätzlich noch via den GET-Parameter 'recipient_email' die E-Mail-Adresse übergibt, so dass die Anmeldung gleich mit dem Empfänger verknüpft ist. Mache das gleiche mit einem weiteren GET Parameter 'recipient_name'. Zum Testen kannst Du den URL-String ausgeben, dann siehst Du, wie sich die Email-Nachricht bei jedem Schleifendurchgang verändert.
- Ersetze nun (z.B. mit der Funktion str_replace()) den Platzhalter [EMPFAENGER_NAME] mit dem Namen aus dem Array, und den Platzhalter [ANMELDELINK] mit dem generierten, persönlichen URL aus Schritt 4
- Ersetze im gleichen Stil den Platzhalter [ANMELDELINK] mit dem von dir generierten, persönlichen Anmelde-URL. Für einen anklickbaren HTML-Link: denke dran, dass du nicht nur den URL, sondern einen HTML a Tag verwendest.
- Der Mailversand funktioniert immer noch gleich, denke aber noch daran, dass die E-Mail-Adresse des Empfängers nun aus einem Unterarray kommt und daher anders formuliert werden muss.
Weiterführende Übungen: