API:Email
This page is part of the MediaWiki API documentation. |
Language: | English • Deutsch |
---|
Quick overview:
- Quick start guide
- FAQ
- Tutorial
- Formats
- Error reporting
- Restricting usage
- Cross-site requests
- Authentication
- Queries
- Search suggestions
- Parsing wikitext and expanding templates
- Purging pages' caches
- Parameter information
- Changing wiki content
- Watchlist feed
- Wikidata
- Extensions
- Using the API in MediaWiki and extensions
- Miscellaneous
- Implementation
- Client code
MediaWiki version: | = 1.14 |
Contents
Token[edit | edit source]
To send an email, an email token is required. This token is equal to the edit token and the same for all recipients, but changes at every login. An email token can be obtained as follows: Obtaining an email token
Result |
---|
The following content has been placed in a collapsed box for improved usability. |
<?xml version="1.0" encoding="utf-8"?> <api> <query> <pages> <page pageid="1" ns="2" title="User:Catrope" touched="2007-09-03T20:32:21Z" lastrevid="20" counter="20" length="470" emailtoken="58b54e0bab4a1d3fd3f7653af38e75cb+\" /> </pages> </query> </api> |
The above content has been placed in a collapsed box for improved usability. |
Sending email to users[edit | edit source]
You can send email to users who have a confirmed email address with action=emailuser. Sending email is subject to rate limits.
Parameters[edit | edit source]
target
: User to send email tosubject
: The subject of the messagetext
: The messagetoken
: The token obtained in the previous request. Take care to encode the+
as%2B
ccme
: If set, a copy of the email will be sent to you
Examples[edit | edit source]
Note: In this example, all parameters are passed in a GET request just for the sake of simplicity. However, action=emailuser requires POST requests; GET requests will cause an error.
Sending an email to User:Catrope
Result |
---|
The following content has been placed in a collapsed box for improved usability. |
<?xml version="1.0" encoding="utf-8"?> <api> <emailuser result="Success" /> </api> |
The above content has been placed in a collapsed box for improved usability. |
Possible errors[edit | edit source]
In addition to the usual stuff:
- code: cantsend
- info: You're not logged in or you don't have a confirmed email address, so you can't send email
- code: blockedfrommail
- info: You have been blocked from sending email
- code: usermaildisabled
- info: User email has been disabled
- code: notarget
- info: You have not specified a valid target for this action
- code: noemail
- info: The user has not specified a valid email address, or has chosen not to receive email from other users
Checking emailable status[edit | edit source]
Before trying to send an email, it is recommended to check if the user is emailable first. To do this, you can execute a list query on the user (or several users at once). Here is an example using 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; } } });
If you are testing from a client-side script, it is also possible to simply check for the existence of the t-emailuser list item:
emailable = $('#t-emailuser').length ? true : false;