Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
de:create:functions:mailsend [23.06.2020 10:27] – [mailSend()] admin | de:create:functions:mailsend [08.11.2021 09:50] (aktuell) – admin |
---|
* //C1// bis //C5// (optional)\\ Wenn Sie hier einen Text angeben (optional), können Sie diesen Text mithilfe der Platzhalter ''%custom1%'' bis ''%custom5%'' in der Serienmail verwenden. In Verbindung mit ''value()'' können Sie beispielsweise Antworten aus dem laufenden Interview in der E-Mail anzeigen. | * //C1// bis //C5// (optional)\\ Wenn Sie hier einen Text angeben (optional), können Sie diesen Text mithilfe der Platzhalter ''%custom1%'' bis ''%custom5%'' in der Serienmail verwenden. In Verbindung mit ''value()'' können Sie beispielsweise Antworten aus dem laufenden Interview in der E-Mail anzeigen. |
* //Einstellungen// (optional)\\ Wenn als dritter Parameter ein Array übergeben wird, so werden die weiteren Einstellungen aus diesem Array entnommen. Folgende Schlüssel sind möglich: | * //Einstellungen// (optional)\\ Wenn als dritter Parameter ein Array übergeben wird, so werden die weiteren Einstellungen aus diesem Array entnommen. Folgende Schlüssel sind möglich: |
* '''sendtime''' -- entspricht dem Parameter //Zeitpunkt// | * ''%%'sendtime'%%'' -- entspricht dem Parameter //Zeitpunkt// |
* '''update''' -- Standardmäßig wird mit jedem Aufruf von ''mailSend()'' eine E-Mail versendet. Wenn für '''update''' ein Wert festgelegt ist und es wurde in dem Befragungsprojekt mit ''mailSend()'' bereits eine E-Mail für den Versand geplant (noch nicht versandt), welche denselben Wert für '''update''' enthält, dann wird der Versandtermin und alle Daten aktualisiert anstatt eine weitere E-Mail vorzubereiten. Wenn Sie z.B. nur eine E-Mail pro Interview versenden möchten, dann verwenden Sie z.B. ''%%'update' => caseToken()%%''. | * ''%%'update'%%'' -- Standardmäßig wird mit jedem Aufruf von ''mailSend()'' eine E-Mail versendet. Wenn für '''update''' ein Wert festgelegt ist und es wurde in dem Befragungsprojekt mit ''mailSend()'' bereits eine E-Mail für den Versand geplant (noch nicht versandt), welche denselben Wert für '''update''' enthält, dann wird der Versandtermin und alle Daten aktualisiert anstatt eine weitere E-Mail vorzubereiten. Wenn Sie z.B. nur eine E-Mail pro Interview versenden möchten, dann verwenden Sie z.B. ''%%'update' => caseToken()%%''. |
* '''%link%''' -- entspricht dem Parameter //Link// | * ''%%'%link%'%%'' -- entspricht dem Parameter //Link// |
* '''%custom1%''' bis '''%custom5%''' -- Inhalte für die gleichnamigen Platzhalter in der Serienmail | * ''%%'%custom1%'%%'' bis '''%custom5%''' -- Inhalte für die gleichnamigen Platzhalter in der Serienmail |
* '''attach''' -- Variablenkennung (string) oder mehrere Kennungen (array) hochgeladener Dateien (Frage vom Typ "Datei hochladen"), welche an die E-Mail angehängt werden sollen. Geben Sie im Array einen Schlüssel an, um den Dateinamen für den Dateianhang festzulegen. | * ''%%'attach'%%'' -- Variablenkennung (string) oder mehrere Kennungen (array) hochgeladener Dateien (Frage vom Typ "Datei hochladen"), welche an die E-Mail angehängt werden sollen. Geben Sie im Array einen Schlüssel an, um den Dateinamen für den Dateianhang festzulegen. |
| * ''%%'unique'%%'' -- Ein beliebiger Wert, welcher den Inhalt und/oder Empänger der Nachricht bezeichnet. Standardmäßig dient die E-Mail-Adresse als Merkmal für den Versand. Wenn ein benutzerdefinierter Unique-Wert angegeben wird, kann dieselbe Serienmail mehrfach an dieser E-Mailadresse versendet werden. Voraussetzung ist, dass für jeden Versand an anderer Unique-Wert angegeben wird. |
| |
===== Hinweise ===== | ===== Hinweise ===== |
| |
* Mit der Funktion ''mailSend()'' kann pro Interview eine bestimmte Serienmail nur einmal an eine bestimmte E-Mail-Adresse verschickt werden. | * Mit der Funktion ''mailSend()'' kann pro Interview eine bestimmte Serienmail nur einmal an eine bestimmte E-Mail-Adresse verschickt werden. Sie können dies mittels ''%%'unique'%%'' anpassen. |
* Innerhalb eines Interviews können mittels ''mailSend()'' maximal 20 E-Mails verschickt werden. | * Innerhalb eines Interviews können mittels ''mailSend()'' maximal 20 E-Mails verschickt werden. |
| * Die E-Mail-Adressen werden zusammen mit einem Zeitstempel in den Logfiles des Servers gespeichert. Die Aufbewahrungszeit der Logfiles ist abhängig von der Konfiguration des Servers. |
| |
| ===== Beispiel: Info an Projektleitung ===== |
| |
| Jedes mal wenn ein Interview abgeschlossen wir, soll eine E-Mail an die Projektleitung ''leitung@example.com'' verschickt werden. |
| |
| * Erstellen Sie eine Serienmail unter **Einladungen verschicken** -> **Serienmails** |
| * Fügen Sie dafür vor der "Letzten Seite" im Fragebogen eine weitere Seite ein. Auf dieser platzieren Sie folgenden PHP-Code. |
| |
| <code php> |
| mailSend('leitung@example.com', 1); |
| </code> |
| |
| Die ''1'' muss natürlich gegen die Kennung/Nummer der Serienmail ersetzt werden, welche verschickt werden soll. |
| |
| |
| ===== Beispiel: Daten an Projektleitung ===== |
| |
| Ein Teilnehmer füllt einen Test aus, der Punktwert wurde in Variable ''$points'' berechnet und soll nun zusammen mit der Teilnehmern-Kennung (SERIAL) an eine Mailadresse geschickt werden, damit der Forscher automatisch über abgeschlossene Tests informiert wird. |
| |
| Dafür wurde unter **Einladungen verschicken** -> **Serienmails** eine Serienmail (ID 1) angelegt, die u.a. folgenden Inhalte hat: |
| |
| <code> |
| Teilnehmer: %custom1% |
| Testergebnis: %custom2% |
| </code> |
| |
| Auf der letzten Seite des Fragebogens würde nun unter der Berechnung des Punktswerts (''$points'') folgender PHP-Code platziert, um das Ergebnis an ''store@example.com'' zu senden. |
| |
| <code php> |
| mailSend('store@example.com', 1, 0, NULL, caseSerial(), $points); |
| </code> |
| |
===== Beispiel 1 ===== | ===== Beispiel: E-Mail-Adresse nicht speichern ===== |
| |
Im Interview soll die E-Mail-Adresse eines Kollegen abgefragt, aber nicht gespeichert werden. An die E-Mail-Adresse soll eine Einladung mit Verweis auf das aktuelle Interview (Fall-Nummer CASE) verschickt werden. | Im Interview soll die E-Mail-Adresse eines Kollegen abgefragt, aber nicht gespeichert werden. An die E-Mail-Adresse soll eine Einladung mit Verweis auf das aktuelle Interview (Fall-Nummer CASE) verschickt werden. |
mailSend($email, 2, 0, $link); | mailSend($email, 2, 0, $link); |
} | } |
</code> | |
| |
| |
===== Beispiel 2 ===== | |
| |
Ein Teilnehmer füllt einen Test aus, der Punktwert wurde in Variable ''$points'' berechnet und soll nun zusammen mit der Teilnehmern-Kennung (SERIAL) an eine Mailadresse geschickt werden, damit der Forscher automatisch über abgeschlossene Tests informiert wird. | |
| |
Dafür wurde unter **Einladungen verschicken** -> **Serienmails** eine Serienmail (ID 1) angelegt, die u.a. folgenden Inhalte hat: | |
| |
<code> | |
Teilnehmer: %custom1% | |
Testergebnis: %custom2% | |
</code> | |
| |
Auf der letzten Seite des Fragebogens würde nun unter der Berechnung des Punktswerts (''$points'') folgender PHP-Code platziert, um das Ergebnis an ''store@example.com'' zu senden. | |
| |
<code php> | |
mailSend('store@example.com', 1, 0, NULL, caseSerial(), $points); | |
</code> | </code> |