Автоматизация процесса массового создания почтовых ящиков в Яндекс почта для домена

Появилась необходимость воспользоваться таким сервисом как «Почта для домена» от Яндекса, а именно нужно было как то с минимизацией затраты жизненных ресурсов проработать скрипт по массовому созданию почтовых ящиков и заполнения их профилей.

 

Для управления почтой Яндекс предоставляет API Почты для домена (подробней про API можно почитать тут), вот им мы как раз и воспользуемся для реализации нашей задачи. Писать скрипт будем на bash из под Ubuntu 14.04 Trusty Tahr .

 

Итак в моем распоряжение есть список с адресами которые необходимо создать в Яндекс Почта для домена, адреса в текстовом файле выглядят так:

test@test.ru
test@test.ru
test@test.ru
test@test.ru
... и т.д.

 

Если же у вас такого списка нет, то создаем его

nano emailuserlist

 

И заносим в него адреса все которые необходимо будет создать. Далее для работы скрипта нужно получить PDD Token для администратора (получить его можно для вашего домена можно тут). После того как получили PDD Token и есть список с адресами которые нужно завести, приступаем к написанию скрипта который за нас создаст ящики из списка и внесет в каждый созданный профиль тот минимум данных который нужен для дальнейшей работы с ящиком.

 

Готовый скрипт выглядит вот так. Скрипт с комментариями и разобраться в нем не должно составить труда.

#!/bin/bash
# ==== Переменные для создания ящиков ======================
# Путь к списку пользователей
USRLIST='/home/admin/YandexMailControl/emailuserlist'
# Временный файл для обработки имен и фамилий
TEMP='/home/admin/YandexMailControl/temp'
# Название домена
DOMAIN="test.com"
# PDD Token
TOKEN="4GQAO6O3ZTNHYL6FNQ000000000000000000000000000000"
# Пароль по умолчанию
PASS="Aa1234567"
# ==========================================================
# ==== Переменные для внесения данных в ящики ==============
# Секретный вопрос
QUESTION="vopros"
# Секретный ответ
ANSWER="otvet"
# ==========================================================
# Из созданного временного файла убираем название домена в строках если оно присутствует
sed -i 's/[[:blank:]]*@'$DOMAIN'//' $USRLIST
# Перебираем циклом файл с списком пользователей и создаем почтовый ящик по каждому из них
for i in $( cat $USRLIST ); do
# Создаем ящик
curl -H 'PddToken: '$TOKEN -d 'domain='$DOMAIN'&login='$i'&password='$PASS 'https://pddimp.yandex.ru/api2/admin/email/add'
# Заносим во временный файл текущий логин от почты
echo $i > $TEMP
# Получаем значения имени и фамилии для заполнения профиля
FIRSTNAME=$(awk -F"." '{ print $1 }' $TEMP)
LASTNAME=$(awk -F"." '{ print $2 }' $TEMP)
# Делаем проверку если логин состоит из одной строки, то LASTNAME будет пустым, в этом случае подставим FIRSTNAME. Редактируем профили.
if [ -z "$LASTNAME" ]; then
curl -H 'PddToken: '$TOKEN -d 'domain='$DOMAIN'&login='$i'&password='$PASS'&iname='$FIRSTNAME'&fname='$FIRSTNAME'&hintq='$QUESTION'&hinta='$ANSWER 'https://pddimp.yandex.ru/api2/admin/email/edit'
else
curl -H 'PddToken: '$TOKEN -d 'domain='$DOMAIN'&login='$i'&password='$PASS'&iname='$FIRSTNAME'&fname='$LASTNAME'&hintq='$QUESTION'&hinta='$ANSWER 'https://pddimp.yandex.ru/api2/admin/email/edit'
fi
# Удаляем временный файл
rm $TEMP
done
echo "Задание выполнено!"

 

Скрипт проходится по каждый строке текстового файла с адресами и создает почтовый ящик, после создания начинается заполнение профиля созданного ящика, т.е. исходя из того какой логин у ящика (прим. name.lastname@test.ru) будет подстановка в поля «Имя» и «Фамилия» вида Имя — name, Фамилия — lastname. Если же логин вида name@test.ru, то в поле Имя и Фамилия будет подставлено name. Так же для созданного ящика будет задан секретный вопрос и ответ на него, тот который вы зададите в скрипте.

 

После того как скрипт отработает, то останется зайти в каждый созданный ящик и завершить регистрацию. Да это геморно, но это единственный путь. С помощью средств API этого сделать нельзя (узнавал у тех. поддержки Яндекса).

 

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Всего комментариев: 4 Комментировать

  1. Читатель /

    Адреса Яндекса в скрипте обрезало.

    1. Жаконда / Автор записи

      Поправил. Спасибо !

  2. Николай /

    Добрый день!
    С Яндекс Коннектом не сталкивались? Яндекс ПДД сейчас я так понимаю уже не функционирует.

    1. Жаконда / Автор записи

      Нет, только с ПДД.. потом бог миловал и перешли на Exchange 🙂

Оставить ответ Жаконда Отменить ответ

1 × три =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика