Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


mailSend()

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.

  • E-Mail
    E-Mail-Adresse, an welche die E-Mail verschickt werden soll.
  • SerienmailID
    Numerische Kennung der Serienmail, die verschickt werden soll.
  • Zeitpunkt (optional)
    Entweder die Verzögerung bis zum Versand (in Sekunden, maximal 153900000) oder ein Unix-Zeitstempel, der den Zeitpunkt für den nächsten Versand definiert.
  • Link (optional)
    Der Link, der in der Serienmail für den Platzhalter %link% verwendet wird. Falls kein Link angegeben wird, wird der Der Link zum Fragebogen ohne weitere Spezifikation eines Fragebogens verwendet.
  • 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:
    • '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.

Hinweise

  • Mit der Funktion mailSend() kann pro Interview eine bestimmte Serienmail nur einmal an eine bestimmte E-Mail-Adresse verschickt werden.
  • Innerhalb eines Interviews können mittels mailSend() maximal 20 E-Mails verschickt werden.

Beispiel 1

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

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 verschickenSerienmails 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);
de/create/functions/mailsend.1583438699.txt.gz · Zuletzt geändert: 05.03.2020 21:04 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki