Как подключить Yandex-почта для домена

Posted by

Когда у Вас есть собственное доменное имя для Вашего ресурса, вот как примеру у меня есть один блог (пока правда несильно раскрученный, но все же — это своего рода задел на будущее) для которого мне нужен сервис в виде организации приема и отправки почты. Платить за почтовую услугу у хостера — зачем? — если все тоже самое, а главное бесплатно можно сделать если воспользоваться услугой (бесплатной) от Yandex, т. е. Подключить Yandex-почта для домена. Важно чтобы не только у Вас было доменное имя, но и доступ к настройкам (редактированию) DNS-записей.

Итак.

Регистрирую на yandex.ru новый почтовый ящик: (данный ящик будет административным при управлении Вашими создаваемыми ящиками).

  • Login: ekzorchik
  • Pass: Aa1234567
  • Контрольный вопрос: Каким ты себя видишь через 5 лет
  • Ответ на контрольный вопрос: Мегаумным

после того, как будет произведен вход в почтовый ящик нужно в строке URL адреса набрать следующий URL: https://pdd.yandex.ru/domains_add/ тем самым Мы перейдем в элемент настройки подключения домена к текущему почтовому ящику который и будет в дальнейшем административным.

После символа @ (собаки) указываем Ваш подконтрольный домен, т. е. Тот который Вы купили у регистратора доменных имен и к примеру используете (личная страница, блок, интернет магазин и т. д.) и нажимаем «Добавить домен» = @creative-impulse.ru

По первой первое добавление имеет статус: «Домен не подтвержден», чтобы это поправить нужно на Вашей административной странице где у Вас имеется аккаунт который был создан в процессе регистрации доменного имени прописать настройки MXзаписи. В моем случае, домен creative-impulse.ru имеет быть место зарегистрированным на Jino.ru.

https://cp.jino.ru/ - Мои домены — creative-impulse.ru — Управление DNS

(Новая DNS-запись): Тип записи: выбираю запись MX и нажимаю Добавить

  • Домен: creative-impulse.ru
  • Тип записи: mx
  • Приоритет: 10
  • MX-сервер: mx.yandex.ru

И нажимаю Добавить, будет уведомление, что DNS-запись создана: DNS-запись успешно добавлена

https://cp.jino.ru/ - Мои домены — creative-impulse.ru — Управление DNS

(Новая DNS-запись): Тип записи: выбираю запись CNAME и нажимаю Добавить

  • Домен: creative-impulse.ru
  • Тип записи: CNAME
  • Поддомен: yamail-ffcdd09441b3
  • Имя хоста: mail.yandex.ru

Т.к. административная страница на хостинге jino.ru уже больше не нужна, можно разлогиниться: — Выход — Да

Отлично, теперь возвращаюсь к странице привязки домена creative-impulse.ru к Yandex-аккаунту и нажимаю по кнопке «Проверить владение доменом», а следом наблюдаю приятное известие:

Домен creative-impulse.ru успешно подключен и теперь можно создавать почтовые ящики.

Домен @creative-impulse.ru успешно подключен к Yandex-почта для домена

На заметку: доступ в административный интерфейс по управлению Вашими почтовыми ящиками привязанными к доменному имени по этой ссылке:

https://pdd.yandex.ru/domain/creative-impulse.ru/

,но вот что, да я уже пользуюсь такой функцией Yandex, как почта для домена, только вот создание их (ящиков) уж жутко утомляет при использовании Web-интерфейса, хотелось бы автоматизировать данную рутину (имеет смысл если ящиков более 10), а потому задействую предлагаемое API по управлению.

Чтобы получить авторизованный доступ к административному аккаунту «» нужно получить TOKEN аутентификации.

Помощь — API Почты для домена — Доступ к API — после нажимаю внутри подпункта «Доступ для администратора» на гиперссылку: странице управления токеном: https://pddimp.yandex.ru/api2/admin/get_token

Чтобы получить данный токен нужно:

  • правильно ввести CAPTCHA (Enter CAPTCHA)
  • и указать доменное имя (Domain name (ownership must be confirmed))

, а после нажать Get Token, после чего будет получен токен

e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f)

который необходим при управлении Вашим доменом из консоли.

Для получения информации по текущему домену с использованием идентификатора и возможностей консоли командной строки системе .5 Desktop amd64 (Gnome Classic):

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' 'https://pddimp.yandex.ru/api2/admin/domain/registration_status?domain=creative-impulse.ru'

{«status»: «added», «domain»: «creative-impulse.ru», «success»: «ok», «last_check»: «2016-08-06T14:21:22Z», «next_check»: «2016-08-06T14:27:00Z», «check_results»: «ok», «stage»: «added»}

Вот этот пароль (Aa1234567) я сейчас и задействую при создании единичного почтового ящика с заполнение всех полей (а именно: Login, Password, Имя, Фамилия, День рождения, Пол, Контрольный вопрос, Ответ на контрольный вопрос)

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain=creative-impulse.ru&login=alexander.ollo&password=Aa1234567&iname=Alexander&fname=Ollo&enabled=yes&birth_date=1985-04-22&sex=1&hintq=How_Are_You&hinta=AllRight&ready=yes' 'https://pddimp.yandex.ru/api2/admin/email/add'

{«success»: «ok», «login»: «alexander.ollo@creative-impulse.ru», «uid»: 1130000021558898, «domain»: «creative-impulse.ru»}

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain=creative-impulse.ru&login=alexander.ollo&password=Aa1234567&iname=Alexander&fname=Ollo&enabled=yes&birth_date=1985-04-22&sex=1&hintq=How_Are_You&hinta=AllRight&ready=yes' 'https://pddimp.yandex.ru/api2/admin/email/add'

В итоге у меня создался почтовый ящик (alexander.ollo@creative-impulse.ru) в моем домене creative-impulse.ru

Получить список всех почтовых ящиков в администрируемом домене:

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' 'https://pddimp.yandex.ru/api2/admin/email/list?domain=creative-impulse.ru&page=1&on_page=10'

{«direction»: «desc», «on_page»: 10, «success»: «ok», «pages»: 1, «domain»: «creative-impulse.ru», «order»: «uid», «box_limit»: 1000, «accounts»: [{«uid»: 1130000021561106, «iname»: «», «sex»: null, «ready»: «no», «hintq»: «», «aliases»: [], «enabled»: «yes», «maillist»: «no», «fname»: «», «birth_date»: null, «login»: «alektest@creative-impulse.ru», «fio»: «»}, {«uid»: 1130000021558961, «iname»: «Alexander», «sex»: 1, «ready»: «no», «hintq»: «How_Are_You», «aliases»: [], «enabled»: «yes», «maillist»: «no», «fname»: «Ollo», «birth_date»: «1985-04-22», «login»: «alexander.ollo@creative-impulse.ru», «fio»: «Ollo Alexander»}], «offset»: null, «found»: 2, «total»: 2, «page»: 1}

Чтобы создать почтовую рассылку:

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain=creative-impulse.ru&maillist=it@creative-impulse.ru' 'https://pddimp.yandex.ru/api2/admin/email/ml/add'

{«domain»: «creative-impulse.ru», «maillist»: «it@creative-impulse.ru», «success»: «ok», «uid»: 1130000021561136}

Добавить в почтовую рассылку рассылку почтовый ящик:

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain=creative-impulse.ru&maillist=it&subscriber=alektest@creative-impulse.ru' 'https://pddimp.yandex.ru/api2/admin/email/ml/subscribe'

{«domain»: «creative-impulse.ru», «verified»: «yes», «uid»: 1130000021561136, «success»: «ok», «maillist»: «it@creative-impulse.ru», «subscriber»: «alektest@creative-impulse.ru», «can_send_on_behalf»: «no»}

Выглядит это так:

Почтовый ящик alektest@creative-impulse.ru успешно добавлен в рассылку через API Yandex

Конечно приведенные примеры не ограничиваются всем тем, что я привел выше, на справочной странице есть еще что можно сделать, но конечно без ложки дегтя не обошлось. В API отсутствует возможность полной регистрации почтового ящика, т. е. Он не будет активирован покуда Вы в него один раз не зайдете (авторизуетесь), а так API работает, вот еще что, хочу привести примеры, как сделать если допустим Вы как системный администратор получили команду от руководства, что нужно перенести с текущей почтовой системы Zimbra все почту на Yandex-почта для домена (она же бесплатна).

aollo@system:~$ srv-zimbra

aollo@srv-zimbra:~$ sudo su - zimbra

zimbra@srv-zimbra:~$ zmprov -l gaa > /tmp/zimbra.txt

zimbra@srv-zimbra:~$ exit

logout

aollo@srv-zimbra:~$ scp /tmp/zimbra.txt aollo@10.9.9.10:/home/aollo/Documents/tips_narabotki/tips_zimbra/tips_07_08_2016_mailbox_list_v1.txt

aollo@srv-zimbra:~$ exit

logout

Connection to 10.9.9.240 closed.

Создаю скрипт автоматического создания почтовых ящиков в домене creative-impulse.ru посредством скрипта и API от Yandex.

aollo@system:~$ nano aduser

#!/bin/bash

usrlist='/home/aollo/elist'

DOMAIN='creative-impulse.ru'

for i in $(cat $usrlist); do

curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain='$DOMAIN'&login='$i'&password=Aa1234567&hintq=How&hinta=http' 'https://pddimp.yandex.ru/api2/admin/email/add'

done

aollo@system:~$ chmod +x aduser

Удаляем из выгруженного списка домен, т. е. Если ящик вида: alektest@polygon.local, то в конечном виде это будет alektest

aollo@system:~$ cat Documents/tips_nemdom/tips_zimbra/tips_07_08_2016_mailbox_list_v1.txt | sed s/@polygon.local//g > /tmp/login

aollo@system:~$ cp /tmp/login /home/aollo/elist

aollo@system:~$ ./aduser

Итого скрипт отработал для всех пользователей

{«success»: «ok», «login»: «dmitriy.romashko@creative-impulse.ru», «uid»: 1130000021561645, «domain»: «creative-impulse.ru»}

{«success»: «ok», «login»: «oleg.strelnikov@creative-impulse.ru», «uid»: 1130000021561646, «domain»: «creative-impulse.ru»}

{«success»: «ok», «login»: «aka@creative-impulse.ru», «uid»: 1130000021561647, «domain»: «creative-impulse.ru»}

По-умолчанию созданные почтовые ящики скриптом выше не активированы, это значит что нужно зайти в каждый почтовый ящик для его активации.

Также если Вы (Читатели моего блога) внимательно читали мои последние заметки, то я показал как автоматизировать создание резервных копий списков рассылки в Zimbra, вот и сейчас на основе этого я произведу автоматическое добавление почтовых ящиков в Yandex-почта для домена.

aollo@system:~$ cat /home/aollo/Documents/tips_narabotki/tips_zimbra/070816/support@polygon.local.txt | sed s/@polygon.local/@creative-impulse.ru/g > /home/aollo/support@creative-impulse.ru.txt

Итак сперва создаю почтовую рассылку (support@creative-impulse.ru):

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain='creative-impulse.ru'&maillist=support@creative-impulse.ru' 'https://pddimp.yandex.ru/api2/admin/email/ml/add'

{«domain»: «creative-impulse.ru», «maillist»: «support@creative-impulse.ru», «success»: «ok», «uid»: 1130000021561777}

А потом добавляю в нее (почтовую рассылку) почтовый ящик:

aollo@system:~$ curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain=creative-impulse.ru&maillist=support&subscriber=alexander.ollo@creative-impulse.ru' 'https://pddimp.yandex.ru/api2/admin/email/ml/subscribe'

{«domain»: «creative-impulse.ru», «verified»: «yes», «uid»: 1130000021561777, «success»: «ok», «maillist»: «support@creative-impulse.ru», «subscriber»: «alexander.ollo@creative-impulse.ru», «can_send_on_behalf»: «no»}

И вот он скрипт:

#!/bin/bash

usrlist='/home/aollo/support@creative-impulse.ru.txt'

DOMAIN='creative-impulse.ru'

for i in $(cat $usrlist); do

curl -H 'PddToken: e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f' -d 'domain='$DOMAIN'&maillist=support&subscriber='$i'' 'https://pddimp.yandex.ru/api2/admin/email/ml/subscribe'

done

Отлично все необходимые рассылки я создал по такому принципу выше. Итого если мне нужно будет в дальнейшем автоматизировать создание, удаление, блокировка, создание рассылок, то можно по принципу выше сделать специальные скрипты дабы не лазить каждый раз в Web-интерфейс по управлению доменом, ну вообщем-то это и не трудно, но вот гордость того факта что можно хоть не много автоматизировать и приобщить задачу на выполнение через консоль уж очень сильно привлекает. Пока я могу сказать, что и на текущем месте работы я провел успешную миграцию с локальной почты Zimbra На Yandex-почта для домена. Всем тем кто считает что так не должно быть, что лучше свое я скажу одно, раз мы подневольные, а наемные сотрудники, то что скажут то и делаем, конечно же все риски сего факта перехода я озвучил и задокументировал, что в случае чего я снимаю с себя ответственность. А так я сделал о чем меня просили да и заметка получилась стоящая, на этом я прощаюсь, с уважением автор блога — ekzorchik. (aka Олло Александр).