0 votes
in SoSci Survey (dt.) by s213237 (110 points)

Guten Tag,

ich versuche gerade den Zeitpunkt meiner Erinnerungsmail einzurichten.

Da die Teilnehmer die erste Serienmail zu unterschiedlichen Zeitpunkten erhalten, sollen sie auch zu unterschiedlichen Zeitpunkten die Erinnerung erhalten -> individualisiert.
Die Erinnerung soll ein Teilnehmer 2 Minuten (zum Test, aber eigentlich 7 Tagen) nach der Einladungsmail erhalten, wenn er den Befragungslink nicht angeklickt oder den Fragebogen noch nicht fertig bearbeitet hat.

ich habe unter Fragebogen zusammenstellen in Karteireiter PHP-Funktionen folgenden code eingegeben:

mailSchedule(false, 2, strtotime('+2 minutes'), ['status' => 'no-response']);

Wenn ich dann die Einladungsmail verschicke und den Fragebogen nicht bearbeite, kommt nach 2 Minuten keine Erinnerung, wieso?

Anmerkung:
ich habe eine weitere Erinnerungsmail als Serienmail angelegt, diese hat die ID 2.
In dieser Erinnerungs-Serienmail habe ich nur eingestellt, dass es eine Erinnerungsmail ist, den Bezug zur Einladungsmail eingestellt und Inhalt & Betreff. Mehr aber nicht.

1 Answer

0 votes
by SoSci Survey (327k points)
mailSchedule(false, 2, strtotime('+2 minutes'), ['status' => 'no-response']);

Dieser Code wird nur dann ausgeführt, wenn die enstprechende Seite im Fragebogen aufgerufen wird. Aber wenn ich Sie korrekt verstehe, wollen Sie ja gerade die Personen erinnern, die den Fragebogen nicht aufrufen.

Das zweite mailSchedule() müssten Sie entsprechend direkt hinter dem mailSchedule() aufrufen, welches die erste Mail verschickt. In dem Fragebogen verwenden Sie dann ein mailRevoke(), damit die zweite Mail (doch) nicht verschickt wird, wenn die Person auf die erste Mail reagiert hat.

by s269590 (110 points)
Vielen Dank für ihre Antwort.

Leider verstehe ich den zweiten Teil der Nachricht noch nicht ganz, was ist denn das zweite mailSchedule()?
by SoSci Survey (327k points)
Ich gehe davon aus, dass Sie sowohl die Einladung als auch die Erinnerung via mailSchedule() versenden. Entsprechend benötigen Sie zwei Aufrufe des Befehls. Einmal für die Einladung, und direkt darunter nochmal für die Erinnerungsmail.
by s269590 (110 points)
Hallo:),

ich habe nun folgenden Code im  Karteireiter PHP-Funktionen eingetragen:

<?php
// Berechne den Unix-Zeitstempel für heute 12:30 Uhr
$invitationTime = mktime(12, 30, 0, date("m"), date("d"), date("Y"));

// Planen der Einladungsmail (ID 1) für heute 12:30 Uhr
mailSchedule(false, 1, $invitationTime, []);

// Berechne den Unix-Zeitstempel für 2 Minuten nach der Einladungsmail
$reminderTime = strtotime('+2 minutes', $invitationTime);

// Planen der Erinnerungsmail (ID 2) 2 Minuten später, falls keine Antwort erfolgt
mailSchedule(false, 2, $reminderTime, ['status' => 'no-response']);
?>

Einmal habe ich dann noch:

ein Mal habe ich noch im Karteireiter PHP-Funktionen ans Ende des Codes folgendes hinzugefügt:
mailRevoke(false, 2);

ein anderes mal habe ich ausprobiert: // Im Fragebogen-Setup, wenn der Teilnehmer den Fragebogen öffnet
mailRevoke(false, 2);


Leider hat es immer noch nicht geklappt, haben Sie Ideen, wieso nicht?
by SoSci Survey (327k points)
> ich habe nun folgenden Code im  Karteireiter PHP-Funktionen eingetragen:

Dort tut der Code erstmal gar nichts. Sie müssten den Code entweder auf einer Seite im Fragebogen setzen oder (!) in dem genannten Karteireiter in eine Funktion (daher der Titel des Karteireiters) und diese Funktion dann auf einer Seite im Fragebogen aufrufen.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...