void mailSend(string E-Mail, int SerienmailID, [int Zeitpunkt], [string Link], [string C1, string C2, string C3, string C4, string C5])
void mailSend(string E-Mail, int SerienmailID, array Einstellungen)
Die Funktion mailSend() verschickt die Serienmail mit der Kennung SerienmailID sofort oder zu einem definierten Zeitpunkt an eine vorgegebene E-Mail-Adresse. Die E-Mail-Adresse muss – anders als bei den Funktionen mailResume() und mailSchedule() – nicht in der Adressliste des Befragungsprojekts bekannt sein.
%link% verwendet wird. Falls kein Link angegeben wird, wird der Der Link zum Fragebogen ohne weitere Spezifikation eines Fragebogens verwendet.%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.'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().'%link%' – entspricht dem Parameter Link'%custom1%' bis '%custom5%' – Inhalte für die gleichnamigen Platzhalter in der Serienmail'reply.to''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.mailSend() kann pro Interview eine bestimmte Serienmail nur einmal an eine bestimmte E-Mail-Adresse verschickt werden. Sie können dies mittels 'unique' anpassen.mailSend() maximal 20 E-Mails verschickt werden.
Jedes mal wenn ein Interview abgeschlossen wir, soll eine E-Mail an die Projektleitung leitung@example.com verschickt werden.
mailSend('leitung@example.com', 1);
Die 1 muss natürlich gegen die Kennung/Nummer der Serienmail ersetzt werden, welche verschickt werden soll.
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:
Teilnehmer: %custom1% Testergebnis: %custom2%
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.
mailSend('store@example.com', 1, 0, NULL, caseSerial(), $points);
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.
Hinweis: Dieser Anwendungsfall lässt sich i.d.R. einfacher mit einer Frage vom Typ E-Mail an persönlichen Kontakt und ganz ohne PHP-Code umsetzen. Hier ist nur eine alternative Lösung mittels mailSend() dargestellt.
Um die E-Mail-Adresse abzufragen, wird auf Seite 5 im Fragebogen ein HTML-Eingabefeld im Fragebogen platziert.
<div> E-Mail-Adresse des Kollegen: <input type="text" name="email_colleague" style="width: 160px" /> </div>
Auf der folgenden Fragebogen-Seite (nicht später!) wird die angegebene E-Mail-Adresse mittels readGET() ausgelesen und die Serienmail mit der Kennung 2 an diese E-Mail-Adresse verschickt. Im Link zum Fragebogen wird die aktuelle Fall-Nummer als Referenz angehängt.
$email = readGET('email_colleague', false); if (trim($email) !== '') { $link = 'https://www.soscisurvey.de/PROJEKT/?r='.caseNumber(); mailSend($email, 2, 0, $link); }
Bei der Verwendung von mailSchedule() speichert SoSci Survey die angegeben E-Mail-Adresse bis zum Versandzeitpunkt.
Die Speicherung erfolgt in der Datenbank, in welcher SoSci Survey auch die Fragebögen und die erhobenen Daten ablegt.
Suchbegriffe: Benachrichtigung, Mitteilung, E-Mail