Когда у Вас есть собственное доменное имя для Вашего ресурса, вот как примеру у меня есть один блог (пока правда несильно раскрученный, но все же — это своего рода задел на будущее) для которого мне нужен сервис в виде организации приема и отправки почты. Платить за почтовую услугу у хостера — зачем? – если все тоже самое, а главное бесплатно можно сделать если воспользоваться услугой (бесплатной) от 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 успешно подключен и теперь можно создавать почтовые ящики.
На заметку: доступ в административный интерфейс по управлению Вашими почтовыми ящиками привязанными к доменному имени по этой ссылке:
https://pdd.yandex.ru/domain/creative-impulse.ru/
,но вот что, да я уже пользуюсь такой функцией Yandex, как почта для домена, только вот создание их (ящиков) уж жутко утомляет при использовании Web-интерфейса, хотелось бы автоматизировать данную рутину (имеет смысл если ящиков более 10), а потому задействую предлагаемое API по управлению.
Чтобы получить авторизованный доступ к административному аккаунту «Yandex-почта для домена
» нужно получить TOKEN аутентификации.
Помощь — API Почты для домена — Доступ к API
— после нажимаю внутри подпункта «Доступ для администратора» на гиперссылку: странице управления токеном: https://pddimp.yandex.ru/api2/admin/get_token
Чтобы получить данный токен нужно:
- правильно ввести CAPTCHA (Enter CAPTCHA)
- и указать доменное имя (Domain name (ownership must be confirmed))
, а после нажать Get Token, после чего будет получен токен
e03e68ed69b1ed82a38f74d5fdc48b4007a7537c32a38923901f)
который необходим при управлении Вашим доменом из консоли.
Для получения информации по текущему домену с использованием идентификатора и возможностей консоли командной строки системе Ubuntu 12.04.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”}
Выглядит это так:
Конечно приведенные примеры не ограничиваются всем тем, что я привел выше, на справочной странице есть еще что можно сделать, но конечно без ложки дегтя не обошлось. В 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 Олло Александр).