Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:create:functions:mailresume [27.02.2020 15:57]
admin [Serienmail nach Opt-In-Frage]
de:create:functions:mailresume [27.02.2020 17:32] (aktuell)
admin [Serienmail nach Opt-In-Frage]
Zeile 101: Zeile 101:
   - Beim Double-Opt-In ist es sinnvoll, den Versand erst nach Bestätigung der Mailadresse auszulösen. Wie das funktioniert wird in folgendem Kapitel erläutert: [[:/​de:​survey:​opt-in-live]]   - Beim Double-Opt-In ist es sinnvoll, den Versand erst nach Bestätigung der Mailadresse auszulösen. Wie das funktioniert wird in folgendem Kapitel erläutert: [[:/​de:​survey:​opt-in-live]]
   - Wenn die Serienmail direkt verschickt werden soll, kann man die Bestätigungsmail der (Double-)Opt-In-Frage zugleich als Einladungsmail zu einem Fragebogen genutzt werden (//Weitere Einstellungen//​ -> //​Weiterleitung nach Bestätigung//​ -> //​Fragebogen-Link aus//). Allerdings ist der Link in der Bestätigungsmail nur 24 Stunden gültig. Eine "​richtige"​ Serienmail-Einladung ist i.d.R. für den gesamten Erhebungszeitraum gültig, sofern die Gültigkeit in den Serienmail-Einstellungen nicht begrenzt wird.   - Wenn die Serienmail direkt verschickt werden soll, kann man die Bestätigungsmail der (Double-)Opt-In-Frage zugleich als Einladungsmail zu einem Fragebogen genutzt werden (//Weitere Einstellungen//​ -> //​Weiterleitung nach Bestätigung//​ -> //​Fragebogen-Link aus//). Allerdings ist der Link in der Bestätigungsmail nur 24 Stunden gültig. Eine "​richtige"​ Serienmail-Einladung ist i.d.R. für den gesamten Erhebungszeitraum gültig, sofern die Gültigkeit in den Serienmail-Einstellungen nicht begrenzt wird.
-  - Wenn eine "​richtige"​ Serienmail im Anschluss an ein Single-Opt-In verschickt werden soll, kommt der Befehl ''​mailSchedule()''​ zum Einsatz. Der PHP-Code wird (frühestens) auf der Seite platziert, welche auf die Opt-In-Frage folgt. ​Als erster Parameter ​muss die Teilnehmer-Kennung der soeben registrierten ​Adresse ​verwendet werden.+  - Wenn eine "​richtige"​ Serienmail im Anschluss an ein Single-Opt-In verschickt werden soll, kommt der Befehl ''​mailSchedule()''​ zum Einsatz. ​Dies wird nachfolgend genauer erläutert. 
 + 
 +Der PHP-Code ​mit dem ''​mailSchedule()'' ​wird (frühestens) auf der Seite platziert, welche auf die Opt-In-Frage folgt. ​Denn erst dort kennt der Befragungsserver die neue E-Mail-Adresse und hat ihr eine Personekennung (SERIAL) zugewiesen. Diese Personenkennung ist als erster Parameter ​für die Funktion ''​mailSchedule()''​ erforderlich (so sonst häufig ''​false''​) verwendet wird. Woher bekommt man die Kennung? Wenn der Teilnehmer in der Opt-In-Frage eine E-Mail-Adresse ​eingetragen hat, dann ist sie im Datensatz in einer Variable vermerkt, welche dieselbe Kennung wie die Opt-In-Frage hat.
  
 Im folgenden Beispiel hätte die Opt-In-Frage auf Seite 9 die Kennung "​OI01"​. Auf Seite 10 (oder später) würde der folgende PHP-Code dann sofort die Serienmail mit der ID 2 versenden. Das ''​value('​OI01'​)''​ liefert die Teilnehmerkennung (SERIAL) des neuen Adresseintrags. Im folgenden Beispiel hätte die Opt-In-Frage auf Seite 9 die Kennung "​OI01"​. Auf Seite 10 (oder später) würde der folgende PHP-Code dann sofort die Serienmail mit der ID 2 versenden. Das ''​value('​OI01'​)''​ liefert die Teilnehmerkennung (SERIAL) des neuen Adresseintrags.
Zeile 122: Zeile 124:
 mailSchedule(value('​OI01'​),​ 4, strtotime('​+14 days'​));​ mailSchedule(value('​OI01'​),​ 4, strtotime('​+14 days'​));​
 </​code>​ </​code>​
 +
 +Wenn die Möglichkeit besteht, dass der Teilnehmer keine E-Mail-Adresse einträgt, sollte noch ein ''​if''​ ergänzt werden, um Fehlermeldungen zu vermeiden:
 +
 +<code php>
 +$serial = value('​OI01'​);​
 +if ($serial) {
 +  mailSchedule($serial,​ 2, 0);
 +  mailSchedule($serial,​ 3, strtotime('​+7 days'​));​
 +  mailSchedule($serial,​ 4, strtotime('​+14 days'​));​
 +}
 +</​code>​
 +
 +Beachten Sie, dass die Personenkennung (SERIAL) hier in einer PHP-Variable (''​$serial''​) zwischengespeichert wird, um sie direkt in den ''​mailSchedule()''​-Aufrufen zu verwenden. Selbstverständlich könnte hier ebenso ''​value('​OI01'​)''​ stehen.
de/create/functions/mailresume.txt · Zuletzt geändert: 27.02.2020 17:32 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki