-
Все поля в api являются обязательными, если не указано обратного.
-
В каждом запросае должно присутствовать поле
secKey
, которое должно быть равно полюsecKey
из настроекprotected/config/params.php
-
Все методы в случае ошибки возвращают следующую структуру:
{"status": "error", "message": "error message text"}
-
Внутренняя структура api в некоторой части продиктована текущим строением webmail.
Проверяет наличие пользователя.
userName
, string - Имя пользователя в dbmail.
{"status": "ok", "found": true}
Где found
- Присутствует пользователь или нет, bool.
Создает пользователя. Если имя пользователя содержит символ @
, тогда оно используется для имени email. Иначе - присваивает ему ящик вида userName@defaultMailDomain
. defaultMailDomain
указывается в настройках dbmail-api.
userName
, string - Имя пользователя в dbmail и по совместительству, email пользователя.password
, string - Пароль пользователя.
{"status": "ok"}
Изменяет пароль существующего пользователя.
userName
, string - Имя пользователя в dbmail.password
, string - Пароль пользователя.
{"status": "ok"}
Удаляет существующего пользователя и все его ящики со всей почтой.
userName
, string - Имя пользователя в dbmail.
{"status": "ok"}
Очищает у существующего пользователя все его ящики со всей почтой.
userName
, string - Имя пользователя в dbmail.
{"status": "ok"}
Возвращает количество непрочитанных писем у пользователя.
userName
, string - Имя пользователя в dbmail.
{"status": "ok", "unreadCount": 0}
Создает правила фильтрации входного почтового потока.
-
userName
, string - Имя пользователя в dbmail. -
ruleName
, string - Название правила. -
rulesJoinOperator
, string - Логический оператор, который будет применятся -
disabled
, bool(int [ 1 | 0 ]) - Отключить правило. Как правило, используется в связке с пересылкой писем для временного отключения правила до валидации конечного email. -
rules
, string, json array - Правила фильтра. Формат:[ { attribute: rule, }, { ["From" | "Subject" | "Any To or Cc", "X-Spam-Flag"]: { "operation": ["is" | "is not"], "value": ["compare string", "*substring*"] }, }, { "Message Size": { "operation": ["is" | "is not" | "less than" | "greater than"], "value": bytesInteger, }, }, ... ]
Возможно фильтровать по слеующим полям в сообщении:
From
- Отправитель. Поле From в оригинальном сообщении.Subject
- Тема сообщения. Поле Subject в оригинальном сообщении.Any To or Cc
- Адресаты. Поля Cc или To в оригинальном сообщении.X-Spam-Flag
- Флаг спама. Поле X-Spam-Flag в оригинальном сообщении.
При проверке размера сообщения (attribute
== Message Size
), операции сравнения меньше чем (less than
) и больше чем (greater than
) являются строгими.
-
actions
, string, json object - Действие с письмами. Допускается одно действие. Формат:{ action: attribute }
{ ["Discard", "Mark", "Store in"]: "attribute" }
где
action
может принимать следующие значения:Discard
- Удалить письмо.attribute
при этом игнорируется.Mark
- Пометить письмо прочтенным (attribute
==Read
) либо избранным (attribute
==Flagged
).Store in
- Переместить в папкуattribute
.Mirror to
- Переслать письмо на email, который содержится вattribute
.
{"status": "ok"}
Удаляет правило существующее правило фильтрации.
userName
, string - Имя пользователя в dbmail.ruleName
, string - Название правила.
{"status": "ok"}
Возвращает все активные правила у конкретного пользователя.
userName
, string - Имя пользователя в dbmail.
{
"status": "ok",
"rules": {
"ruleName1": {
"rules": [
...
],
"actions": {
...
},
"rulesJoinOperator" : "[and | or]"
},
...
}
}
Где rules
- массив объектов с активными правилами. Ключ - идентификатор правила, значение - объект правила со свойствами rules
и actions
. Структура объектов rules
и actions
описана в /createRule
Создает правило для сборщика почты по протоколу POP3.
userName
, string - Имя пользователя в dbmail.host
, string - Хост pop3 сервера.email
, string - Логин для авторизации на pop3 сервере.password
, string - Пароль для авторизации.delete
, необязательное, string, по умолчанию = "0". Установить в "1", если требуется удалять почту с удаленного почтового ящика после сбора.
{"status": "ok", "ruleId": "2"}
Где ruleId
- id созданного правила, string.
Изменяет правило для сборщика почты по протоколу POP3.
id
, int - Id ранее созданного правила.userName
, string - Имя пользователя в dbmail.host
, string - Хост pop3 сервера.email
, string - Логин для авторизации на pop3 сервере.password
, необязательное, string - Пароль для авторизации. Если не указан - используется ранее заданный пароль.delete
, необязательное, string, по умолчанию = "0". Установить в "1", если требуется удалять почту с удаленного почтового ящика после сбора.
{"status": "ok"}
Удаляет правило существующее правило сборщика почты.
ruleId
, string - Id правила.
{"status": "ok"}
Возвращает все правила сборщика почты.
userName
, string - Имя пользователя в dbmail.
{
"status": "ok",
"rules": [
{
"id": "1",
"host": "pop.mail.ru",
"email": "[email protected]",
"password": "strongPassword",
"dbMailUserName": "userName",
"delete": "0",
"ssl": "0",
"status": "1"
},
...
]
}
Где:
id
- Id правила,host
,email
,password
,delete
соответствуют полям в запросе на создание правила (/addGetMailRule
)dbMailUserName
- имя пользователя в dbmail,ssl
- Правило использует ssl содинение ("1") или обычное ("0")status
может принимать следующие значения:- "0" - Правило работает успешно.
- "1" - Правило еще не отрабатывалось.
- "2" - Неправильный пароль.
- "3" - Ошибка соединения с сервером pop3.
- "4" - Неправильный домен pop3 сервера.
- "5" - Неизвестная ошибка.