API: электронная почта пользователя
Эта страница является частью документации по API действий MediaWiki. |
Emailuser | ||
---|---|---|
Email a user. Этот модуль не может быть использован в качестве генератора. | ||
Префикс | нет | |
Необходимые права | sendemail | |
Только POST? | Да | |
Генерируемая справка | Текущее | |
Добавлено в версии |
|
Токен
Чтобы отправить электронное письмо, требуется электронный токен. Этот токен равен токену редактирования и меняется при каждом входе в систему. Электронные токены можно получить за 1 доллар США или следующим способом:action=query&meta=tokens
Результат |
---|
{
"batchcomplete": "",
"query": {
"tokens": {
"csrftoken": "7773cbfff263682c97ffc74b8672cbf25a5e0045+\\"
}
}
}
|
Отправка электронной почты пользователям
Вы можете отправлять сообщения электронной почты пользователям, у которых есть подтвержденный адрес электронной почты, за 1 доллар США.action=emailuser Отправка электронной почты при условии местный налог
Параметры
target
: или пришлите письмо на адресsubject
: Тема сообщенияtext
: Сообщениеtoken
: Токен, полученный в предыдущем запросе. Не забудьте преобразовать $code1 в $code2ccme
: Если установлено, что копия электронного письма будет отправлена вам
Примеры
Результат |
---|
<?xml version="1.0" encoding="utf-8"?>
<api>
<emailuser result="Success" />
</api>
|
Пример кода
Возможные ошибки
В дополнение к обычным материалам:
Код | Информация |
---|---|
cantsend | Вы не авторизованы, ваш электронный адрес не подтверждён или у вас нет прав на отправку электронной почты другим участникам, поэтому вы не можете отправить электронное письмо. |
blockedfrommail | Отправка электронной почты была для вас заблокирована. |
usermaildisabled | Электронная почта пользователя была отключена |
notarget | ⧼apierror-notarget⧽ |
noemail | Этот участник не указал действительный адрес электронной почты. |
nowikiemail | Этот участник указал, что не желает получать письма от других участников. |
Проверка доступного статуса отправки по электронной почте
Прежде чем пытаться отправить электронное письмо, рекомендуется сначала проверить, есть ли у пользователя электронная почта. Для этого вы можете выполнить запрос списка для пользователя (или сразу нескольких пользователей одновременно). Вот пример использования 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' );
} );
Если вы тестируете клиентский скрипт, также можно просто проверить наличие элемента списка t-emailuser.
emailable = $( '#t-emailuser' ).length ? true : false;
Документация ниже автоматически сгенерирована предварительной версией MediaWiki, используемой на этом сайте (MediaWiki.org); она доступна на служебной странице 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]