Документация
API Яндекс.Почты для домена

Импортировать несколько почтовых ящиков

Запрос позволяет импортировать письма нескольких почтовых ящиков на Яндекс.Почту для домена. Для импорта необходимо передать:

  • Настройки соединения с сервером-источником, которые должна использовать Яндекс.Почта для домена. Корректность настроек можно проверить отдельным запросом.

    Если передать настройки, при которых соединение невозможно, Яндекс.Почта для домена будет повторять попытки соединения длительное время, не возвращая при этом ошибки.

  • Файл со списком логинов и паролей почтовых ящиков, которые нужно импортировать.

При импорте создаются новые почтовые ящики на Яндекс.Почте для домена. Поэтому их логины и пароли должны соответствовать требованиям Яндекса:

  • Логин:

    • может состоять из латинских символов, цифр, одинарного дефиса или точки;

    • должен начинаться с буквы, заканчиваться буквой или цифрой и содержать не более 30 символов.

  • Пароль:

    • не должен совпадать с логином;

    • должен содержать от 6 до 20 символов — латинские буквы, цифры или спецсимволы (допускаются знаки ` ! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : " \ | , . < > / ?, не допускаются ~ и ').

Если логин или пароль на сервере-источнике не соответствует требованиям Яндекса, нужно передать новый.

Синтаксис запроса

Запрос следует отправлять по протоколу HTTPS с помощью метода POST с типом содержимого multipart/form-data.

POST /api2/admin/import/start_import_file?
domain
[no-highlight[

Тип

Строка

Значение

Имя домена.

]no-highlight]
=<имя домена почты> &method
[no-highlight[

Тип

Строка

Значение

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

]no-highlight]
=<протокол сервера> &server
[no-highlight[

Тип

Строка

Значение

Доменное имя или IP-адрес сервера.

]no-highlight]
=<имя сервера> &port
[no-highlight[

Тип

Число

Значение

Порт сервера.

]no-highlight]
=<порт сервера> &ssl
[no-highlight[

Тип

Строка

Значение

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

]no-highlight]
=<использование SSL> Host: pddimp.yandex.ru Accept: */* PddToken
[no-highlight[

Описание

ПДД-токен.

]no-highlight]
: <ПДД-токен> Content-Type
[no-highlight[

Описание

В заголовке следует указать тип multipart/form-data.

]no-highlight]
: multipart/form-data; boundary=---------------some-boundary-string-of-your-choice ---------------some-boundary-string-of-your-choice Content-Disposition
[no-highlight[

Описание

Следует указать параметр filename со значением import_list_file и содержимое файла (список логинов и паролей почтовых ящиков).

Каждая строка файла должна содержать логин и пароль отдельного почтового ящика, разделенные пробелом. Пароль на сервере-источнике, содержащий пробелы, нужно заключить в кавычки(“):

login1 “pas sword1“
...
login10 password10

Если логин или пароль на сервере-источнике не соответствует требованиям Яндекса, нужно в строке файла указать новый в следующем формате:

existing_login1 “existing password1“ existing_login1 new_password1
...
existing_login10 “existing password10“ new_login10 new_password10
]no-highlight]
: form-data; name="file"; filename="import_list_file" <содержимое файла — список логинов и паролей почтовых ящиков> ---------------some-boundary-string-of-your-choice

Заголовки:

НазваниеОписание
PddToken

ПДД-токен.

Content-Type

В заголовке следует указать тип multipart/form-data.

Content-Disposition

Следует указать параметр filename со значением import_list_file и содержимое файла (список логинов и паролей почтовых ящиков).

Каждая строка файла должна содержать логин и пароль отдельного почтового ящика, разделенные пробелом. Пароль на сервере-источнике, содержащий пробелы, нужно заключить в кавычки("):

login1 "pas sword1"
...
login10 password10

Если логин или пароль на сервере-источнике не соответствует требованиям Яндекса, нужно в строке файла указать новый в следующем формате:

existing_login1 "existing password1" existing_login1 new_password1
...
existing_login10 "existing password10" new_login10 new_password10

Параметры:

ПараметрТипЗначение
Обязательные
domain Строка

Имя домена.

server Строка

Доменное имя или IP-адрес сервера.

port Число

Порт сервера.

method Строка

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

ssl Строка

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

POST /api2/registrar/import/start_import_file?
domain
[no-highlight[

Тип

Строка

Значение

Имя домена.

]no-highlight]
=<имя домена почты> &method
[no-highlight[

Тип

Строка

Значение

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

]no-highlight]
=<протокол сервера> &server
[no-highlight[

Тип

Строка

Значение

Доменное имя или IP-адрес сервера.

]no-highlight]
=<имя сервера> &port
[no-highlight[

Тип

Число

Значение

Порт сервера.

]no-highlight]
=<порт сервера> &ssl
[no-highlight[

Тип

Строка

Значение

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

]no-highlight]
=<использование SSL> Host: pddimp.yandex.ru Accept: */* PddToken
[no-highlight[

Описание

ПДД-токен.

]no-highlight]
: <ПДД-токен> Authorization
[no-highlight[

Описание

OAuth-токен.

]no-highlight]
: OAuth <OAuth-токен> Content-Type
[no-highlight[

Описание

В заголовке следует указать тип multipart/form-data.

]no-highlight]
: multipart/form-data; boundary=---------------some-boundary-string-of-your-choice ---------------some-boundary-string-of-your-choice Content-Disposition
[no-highlight[

Описание

Следует указать параметр filename со значением import_list_file и содержимое файла (список логинов и паролей почтовых ящиков).

Каждая строка файла должна содержать логин и пароль отдельного почтового ящика, разделенные пробелом. Пароль на сервере-источнике, содержащий пробелы, нужно заключить в кавычки(“):

login1 “pas sword1“
...
login10 password10

Если логин или пароль на сервере-источнике не соответствует требованиям Яндекса, нужно в строке файла указать новый в следующем формате:

existing_login1 “existing password1“ existing_login1 new_password1
...
existing_login10 “existing password10“ new_login10 new_password10
]no-highlight]
: form-data; name="file"; filename="import_list_file" <содержимое файла — список логинов и паролей почтовых ящиков> ---------------some-boundary-string-of-your-choice

Заголовки:

НазваниеОписание
PddToken

ПДД-токен.

Authorization

OAuth-токен.

Content-Type

В заголовке следует указать тип multipart/form-data.

Content-Disposition

Следует указать параметр filename со значением import_list_file и содержимое файла (список логинов и паролей почтовых ящиков).

Каждая строка файла должна содержать логин и пароль отдельного почтового ящика, разделенные пробелом. Пароль на сервере-источнике, содержащий пробелы, нужно заключить в кавычки("):

login1 "pas sword1"
...
login10 password10

Если логин или пароль на сервере-источнике не соответствует требованиям Яндекса, нужно в строке файла указать новый в следующем формате:

existing_login1 "existing password1" existing_login1 new_password1
...
existing_login10 "existing password10" new_login10 new_password10

Параметры:

ПараметрТипЗначение
Обязательные
domain Строка

Имя домена.

server Строка

Доменное имя или IP-адрес сервера.

port Число

Порт сервера.

method Строка

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

ssl Строка

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

Пример запроса

POST /api2/admin/import/start_import_file?domain=domain.com&method=pop&server=pop.yandex.ru&port=110&ssl=no HTTP/1.1

Host: pddimp.yandex.ru
Accept: */*
PddToken: 123456789ABCDEF0000000000000000000000000000000000000
Content-Type: multipart/form-data; boundary=----------------------------60f093b65ad7
----------------------------60f093b65ad7
Content-Disposition: form-data; name="file"; filename="import_list_file"
Content-Type: text/plain

external_login1 external_password1
external_login2 external_password2
external_login3
external_login4 external_password4 internal_login4 internal_password4
----------------------------60f093b65ad7
cURL
curl -H 'PddToken: 123456789ABCDEF0000000000000000000000000000000000000' -F 'import_list_file=@importfilename' 'https://pddimp.yandex.ru/api2/admin/import/start_import_file?domain=domain.name&method=pop&server=pop.yandex.ru&port=110&ssl=no'
POST /api2/admin/import/start_import_file?domain=domain.com&method=pop&server=pop.yandex.ru&port=110&ssl=no HTTP/1.1

Host: pddimp.yandex.ru
Accept: */*
PddToken: 123456789ABCDEF0000000000000000000000000000000000000
Authorization: OAuth 00123456789ABCDEF00000000000000000000000000000000000
Content-Type: multipart/form-data; boundary=----------------------------60f093b65ad7
----------------------------60f093b65ad7
Content-Disposition: form-data; name="file"; filename="import_list_file"
Content-Type: text/plain

external_login1 external_password1
external_login2 external_password2
external_login3
external_login4 external_password4 internal_login4 internal_password4
----------------------------60f093b65ad7
cURL
curl -H 'PddToken: 123456789ABCDEF0000000000000000000000000000000000000' -H 'Authorization: OAuth 00123456789ABCDEF00000000000000000000000000000000000' -F 'import_list_file=@importfilename' 'https://pddimp.yandex.ru/api2/admin/import/start_import_file?domain=domain.name&method=pop&server=pop.yandex.ru&port=110&ssl=no'

Структура ответа

{
  "domain
[no-highlight[

Тип значения

Строка

Описание

Имя домена.

]no-highlight]
": "{имя домена почты}", "settings
[no-highlight[

Тип значения

Объект

Описание

Настройки сервера-источника.

]no-highlight]
": { "method
[no-highlight[

Тип значения

Строка

Описание

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

]no-highlight]
": "{протокол сервера}", "server
[no-highlight[

Тип значения

Строка

Описание

Доменное имя или IP-адрес сервера.

]no-highlight]
": "{имя сервера}", "port
[no-highlight[

Тип значения

Число

Описание

Порт сервера.

]no-highlight]
": "{порт сервера}", "ssl
[no-highlight[

Тип значения

Строка

Описание

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

]no-highlight]
": "{использование SSL}" }, "import_list": [ { "external_login
[no-highlight[

Тип значения

Строка

Описание

Логин на сервере-источнике.

]no-highlight]
": "{логин на сервере-источнике}", "external_password
[no-highlight[

Тип значения

Строка

Описание

Пароль на сервере-источнике.

]no-highlight]
": "{пароль на сервере-источнике}", "internal_login
[no-highlight[

Тип значения

Строка

Описание

Логин для авторизации на Яндекс.Почте для домена.

]no-highlight]
": "{логин на Яндекс.Почте для домена}", "internal_password
[no-highlight[

Тип значения

Строка

Описание

Пароль для авторизации на Яндекс.Почте для домена.

]no-highlight]
": "{пароль на Яндекс.Почте для домена}", "started
[no-highlight[

Тип значения

Строка

Описание

Готовность к запуску импорта.

Возможные значения:

  • yes — импорт будет запущен (все параметры заданы верно).
  • no — импорт не будет запущен (обнаружена ошибка, ee код указан в значении ключа error).

]no-highlight]
": "{готовность к запуску импорта}" }, ... ] "success
[no-highlight[

Тип значения

Строка

Описание

Статус выполнения запроса.

Возможные значения:

  • ok — запрос выполнен успешно.
  • error — запрос выполнен с ошибкой.

]no-highlight]
": "{статус выполнения запроса}" }
{
  "domain
[no-highlight[

Тип значения

Строка

Описание

Имя домена.

]no-highlight]
": "{имя домена}", "success
[no-highlight[

Тип значения

Строка

Описание

Статус выполнения запроса.

Возможные значения:

  • ok — запрос выполнен успешно.
  • error — запрос выполнен с ошибкой.

]no-highlight]
": "{статус выполнения запроса}", "error
[no-highlight[

Тип значения

Строка

Описание

Код ошибки.

Ключ включается в ответ, если запрос выполнен с ошибкой.

Возможные значения:

  • unknown — произошел временный сбой или ошибка работы API (повторите запрос позже).
  • no_token (no_domain, no_ip ) — не передан обязательный параметр.
  • bad_domain — имя домена не указано или не соответствует RFC.
  • prohibited — запрещенное имя домена.
  • bad_token (bad_login, bad_passwd) — передан неверный ПДД-токен (логин, пароль).
  • no_auth — не передан заголовок PddToken.
  • not_allowed — пользователю недоступна данная операция (он не является администратором этого домена).
  • blocked — домен заблокирован (например, за спам и т.п.).
  • occupied — имя домена используется другим пользователем.
  • domain_limit_reached — превышено допустимое количество подключенных доменов (50).
  • no_reply — Яндекс.Почта для домена не может установить соединение с сервером-источником для импорта.

]no-highlight]
": "{код ошибки}" }
НазваниеТип значенияОписание
domain Строка

Имя домена.

settings Объект

Настройки сервера-источника.

import_ list Массив

Аутентификационные данные почтовых ящиков. Каждый объект массива соответствует отдельному почтовому ящику.

success Строка

Статус выполнения запроса.

Возможные значения:

  • ok — запрос выполнен успешно.
  • error — запрос выполнен с ошибкой.

error Строка

Код ошибки.

Ключ включается в ответ, если запрос выполнен с ошибкой.

Возможные значения:

  • unknown — произошел временный сбой или ошибка работы API (повторите запрос позже).
  • no_token (no_domain, no_ip ) — не передан обязательный параметр.
  • bad_domain — имя домена не указано или не соответствует RFC.
  • prohibited — запрещенное имя домена.
  • bad_token (bad_login, bad_passwd) — передан неверный ПДД-токен (логин, пароль).
  • no_auth — не передан заголовок PddToken.
  • not_allowed — пользователю недоступна данная операция (он не является администратором этого домена).
  • blocked — домен заблокирован (например, за спам и т.п.).
  • occupied — имя домена используется другим пользователем.
  • domain_limit_reached — превышено допустимое количество подключенных доменов (50).
  • no_reply — Яндекс.Почта для домена не может установить соединение с сервером-источником для импорта.

Ключи объекта settings
method Строка

Протокол сервера.

Допустимые значения:

  • imap;

  • imap4;

  • pop;

  • pop3.

server Строка

Доменное имя или IP-адрес сервера.

port Число

Порт сервера.

ssl Строка

Использование SSL.

Допустимые значения:

  • yes — нужно использовать SSL-соединение.
  • no — не нужно использовать SSL-соединение.

Ключи объектов массива import_list
external_login Строка

Логин на сервере-источнике.

external_password Строка

Пароль на сервере-источнике.

internal_login Строка

Логин для авторизации на Яндекс.Почте для домена.

internal_password Строка

Пароль для авторизации на Яндекс.Почте для домена.

started Строка

Готовность к запуску импорта.

Возможные значения:

  • yes — импорт будет запущен (все параметры заданы верно).
  • no — импорт не будет запущен (обнаружена ошибка, ee код указан в значении ключа error).