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'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); }