| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste  Überarbeitung | Vorhergehende Überarbeitung | 
| de:create:functions:mailsend [19.08.2019 15:55]  – [mailSend()]  leiner | de:create:functions:mailsend [15.09.2025 13:28] (aktuell)  –  service | 
|---|
| * //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// | 
| * '''%link%''' -- entspricht dem Parameter //Link// | * ''%%'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()%%''. | 
| * '''%custom1%''' bis '''%custom5%''' -- Inhalte für die gleichnamigen Platzhalter in der Serienmail | * ''%%'%link%'%%'' -- entspricht dem Parameter //Link// | 
| * '''attach''' -- Variablenkennung (string) oder mehrere Kennungen (array) hochgeladener Dateien (Frage vom Typ "Datei hochladen"), welche an die E-Mail angehängt werden sollen. | * ''%%'%custom1%'%%'' bis '''%custom5%''' -- Inhalte für die gleichnamigen Platzhalter in der Serienmail | 
|  | * ''%%'reply.to'%%''\\ E-Mail-Adresse, die in der E-Mail für Antworten angegeben werden soll. Diese Einstellung ist nur wirksam, wenn das Benutzerkonto die Berechtigung hat, einen individuellen Absender festzulegen, z.B. wenn der [[https://www.soscisurvey.de/help/doku.php/de:survey:mailing-spf#smtp-server_verwenden|E-Mail-Versand via SMTP]] konfiguriert ist. | 
|  | * ''%%'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. | 
|  |  | 
|  |  | 
| ===== Beispiel 2 ===== | ===== Datenschutz ===== | 
|  |  | 
| 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. | Bei der Verwendung von ''mailSchedule()'' speichert SoSci Survey die angegeben E-Mail-Adresse bis zum Versandzeitpunkt. | 
|  |  | 
| Dafür wurde unter **Einladungen verschicken** -> **Serienmails** eine Serienmail (ID 1) angelegt, die u.a. folgenden Inhalte hat: | Die Speicherung erfolgt in der Datenbank, in welcher SoSci Survey auch die Fragebögen und die erhobenen Daten ablegt. | 
|  |  | 
| <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> | **Suchbegriffe:**  Benachrichtigung, Mitteilung, E-Mail | 
| mailSend('store@example.com', 1, 0, NULL, caseSerial(), $points); |  | 
| </code> |  |