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

Внимание. Сервис Яндекс Почта для домена больше не поддерживается. API Почты для домена прекратит работу с 1 апреля 2023 года. С 24 марта доступность сервиса будет ограничена.

Для управления доменами, пользователями и организациями используйте сервис Яндекс 360 для бизнеса.

Документация API 360

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

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

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

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

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

  • Пароль:

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

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

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

  1. Синтаксис запроса
  2. Пример запроса
  3. Структура ответа

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

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

POST /api2/admin/import/start_import_file?
domain=<имя домена почты>
&method=<протокол сервера>
&server=<имя сервера>
&port=<порт сервера>
&ssl=<использование SSL>

Host: pddimp.yandex.ru
Accept: */*
PddToken: <ПДД-токен>
Content-Type: multipart/form-data; boundary=---------------some-boundary-string-of-your-choice
---------------some-boundary-string-of-your-choice
Content-Disposition: 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
Название Описание
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-соединение.
Параметр Тип Значение
Обязательные
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'

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

{
  "domain": "{имя домена почты}",
  "settings": 
    {
      "method": "{протокол сервера}",
      "server": "{имя сервера}",
      "port": "{порт сервера}",
      "ssl": "{использование SSL}"
    }, 
  "import_list":
  [
    {
      "external_login": "{логин на сервере-источнике}",
      "external_password": "{пароль на сервере-источнике}",
      "internal_login": "{логин на Яндекс Почте для домена}",
      "internal_password": "{пароль на Яндекс Почте для домена}",
      "started": "{готовность к запуску импорта}"
    },
    ...
  ]
  "success": "{статус выполнения запроса}"
}
Название Тип значения Описание
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 ).
Название Тип значения Описание
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 ).