API:E-Mail an Benutzer
Diese Seite ist Teil der Dokumentation der MediaWiki action API. |
Emailuser | ||
---|---|---|
Email a user. Dieses Modul kann nicht als Generator benutzt werden! | ||
Präfix | Keine | |
Erforderliche Rechte | sendemail | |
nur Beitrag? | Ja | |
generierte Hilfe | aktuell | |
Version hinzugefügt |
|
Zeichen
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 über action=query&meta=tokens oder über die folgende Methode erhalten werden:
Ergebnis |
---|
{
"batchcomplete": "",
"query": {
"tokens": {
"csrftoken": "7773cbfff263682c97ffc74b8672cbf25a5e0045+\\"
}
}
}
|
E-Mail an Benutzer senden
Du kannst eine E-Mail an Benutzer, die eine bestätigte E-Mail-Adresse haben, mit action=emailuser senden. E-Mail senden unterliegt Ratenbegrenzungen.
Parameter
target
: Benutzer, an den die E-Mail gesendet wirdsubject
: Der Betreff der Nachrichttext
: Die Nachrichttoken
: Das Token, das in der vorherigen Anfrage erhalten wurde. Achte darauf, das+
als%2B
zu kodierenccme
: Wenn gesetzt, wird eine Kopie der E-Mail an dich gesendet werden
Beispiele
Ergebnis |
---|
<?xml version="1.0" encoding="utf-8"?>
<api>
<emailuser result="Success" />
</api>
|
Beispielcode
Mögliche Fehler
Zusätzlich zu den üblichen Sachen :
Code | Information |
---|---|
cantsend | You are not logged in, you do not have a confirmed email address, or you are not allowed to send email to other users, so you cannot send email. |
blockedfrommail | You have been blocked from sending email. |
usermaildisabled | E-Mailversand wurde deaktiviert |
notarget | ⧼apierror-notarget⧽ |
noemail | Dieser Benutzer hat keine gültige E-Mail-Adresse angegeben. |
nowikiemail | Dieser Benutzer möchte keine E-Mails von anderen Benutzern erhalten. |
Prüfen des versandfertigen Status
Bevor du versuchst, eine E-Mail zu senden, ist es empfehlenswert, zu überprüfen, ob der Benutzer per E-Mail erreichbar ist. Um dies zu tun, kannst du eine Listenabfrage auf den Benutzer ausführen (oder auf mehrere Benutzer auf einmal). Hier ist ein Beispiel im Gebrauch mit Ajax:
new mw.Api().get( {
action: 'query',
list: 'users',
ususers: mw.config.get( 'wgTitle' ),
usprop: 'emailable',
rawcontinue: ''
} ).done( function( getEmailable ) {
alert( ( getEmailable.query.users[ 0 ][ 'emailable' ] !== undefined ) ? 'emailable' : 'not emailable' );
} );
Wenn du von einem clientseitigen Skript testest, ist es auch möglich, einfach die Existenz des t-emailuser-Listenelements zu überprüfen:
emailable = $( '#t-emailuser' ).length ? true : false;
Die folgende Dokumentation ist die Ausgabe von Special: |
action=emailuser
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: GPL-2.0-or-later
Email a user.
- target
User to send the email to.
- This parameter is required.
- subject
Subject header.
- This parameter is required.
- text
Email body.
- This parameter is required.
- ccme
Send a copy of this mail to me.
- Type: boolean (details)
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Send an email to the user WikiSysop with the text Content.
- api.php?action=emailuser&target=WikiSysop&text=Content&token=123ABC [open in sandbox]