API:Emailuser/de

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki version: 1.14

Zeichen[edit]

Um eine E-Mail zu senden, wird ein E-Mail-Token (dt. Zeichen) benötigt. Dieses Token ist gleich dem Bearbeiten-Token und das gleiche für alle Empfänger, ändert sich jedoch bei jedem Login. Ein E-Mail-Token kann wie folgt erhalten werden:

Ein E-Mail-Token erhalten

E-Mail an Benutzer senden[edit]

Sie können E-Mail an Benutzer, die eine bestätigte E-Mail-Adresse haben mit action=emailuser senden. E-Mail senden unterliegt Ratenbegrenzungen.

Parameter[edit]

  • target: Benutzer an dem Email gesendet wird
  • subject: Der Betreff der Nachricht
  • text: Die Nachricht
  • token: Das Token in der vorherigen Anfrage erhältlich. Achten Sie darauf das + als %2B zu kodieren
  • ccme: Wenn gesetzt, wird eine Kopie der E-Mail an Sie gesendet werden

Beispiele[edit]

'Hinweis Hinweis:' In diesem Beispiel werden alle Parameter in einer GET-Anforderung nur aus Gründen der Einfachheit geleitet. Allerdings erfordert action=emailuser POST-Anfragen; GET-Anfragen verursachen einen Fehler.

Senden einer E-Mail an Benutzer:Catrope

Mögliche Fehler[edit]

Zusätzlich zu den üblichen Sachen:

  • code: cantsend
    • info: Sie sind nicht angemeldet oder Sie nicht über eine bestätigte E-Mail-Adresse, so können Sie keine E-Mail senden
  • code: blockedfrommail
    • info: Sie wurden für das Senden von E-Mails blockiert
  • code: usermaildisabled
    • info: Benutzer E-Mail wurde deaktiviert
  • code: notarget
    • info: Sie haben kein gültiges Ziel für diese Aktion angegeben
  • code: noemail
    • info: Der Benutzer hat keine gültige E-Mail-Adresse angegeben, oder möchte keine E-Mails von anderen Benutzern erhalten

Prüfen des versandfertigen Status[edit]

Bevor Sie versuchen, eine E-Mail zu senden, ist es empfehlenswert, zu überprüfen, ob der Benutzer per Email erreichbar ist. Um dies zu tun, können Sie eine Listenabfrage auf den Benutzer ausführen, (oder mehrere Benutzer auf einmal). Hier ist ein Beispiel im Gebrauch mit Ajax:

$.ajax({
  url: wgScriptPath + '/api.php?',
  data: 'action=query&list=users&ususers='+encodeURIComponent(wgTitle)+'&usprop=emailable&format=json',
  dataType: 'json',
  success: function( data ) {
    if ( typeof data.query.users[0]['emailable'] !== 'undefined' ) {
      emailable = true;
    } else {
      emailable = false;
    }
  }
});

Wenn Sie von einem Client-seitigen Skript testen, ist es auch möglich, einfach für die Existenz des t-emailuser Listenelement zu überprüfen:

emailable = $('#t-emailuser').length ? true : false;