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


Т.к. на яндексе несколько специфично понятие автоматизации создания новых ящиков при использовании почты для домена, решил дорисовывать немного сам.

У них есть API для некоторых вещей, его и используем для начала.

Сначала получаем токен для работы:

https://pddimp.yandex.ru/get_token.xml?domain_name=...

параметры:

  • domain_name – имя домена
  • возвращает: <ok token="..."/> или <error reason='...'/>

затем создаем будущий скрипт по созданию новых аккаунтов следующего содержания

#!/bin/sh

token=токен полученный на предыдущем шаге
login=$1
pwd=$2
name=$3
family=$4
hintq="Наш вопрос"
hinta="Наш ответ"
sex=1
domain=mydomain.ru
curl -s "https://pddimp.yandex.ru/reg_user_token.xml?token=${token}&u_login=${login}&u_password=${pwd}"
curl -s "https://pddimp.yandex.ru/edit_user.xml?token=${token}&login=${login}&iname=${name}&fname=${family}&hintq=${hintq}&hinta=${hinta}&sex=${sex}"

short_token=`curl -s "https://pddimp.yandex.ru/api/user_oauth_token.xml?domain=${domain}&token=${token}&login=${login}" | sed 's/^.*XInclude\">//' | sed 's/<.*$//'`
short_token=`echo ${short_token}| sed 's/ //'`

url_activate=`echo  http://passport.yandex.ru/passport?mode=oauth\&access_token=${short_token}\&type=trusted-pdd-partner | sed 's/ //'`
url_activate='http://passport.yandex.ru/passport?mode=oauth&access_token='${short_token}'&type=trusted-pdd-partner'

# Выводим ссылки для активации и удаления пользователя.
# Ссылка на активацию действительна в течении 30 секунд, т.к. это специальный короткоживущий токен.

echo "Login: ${login}@${domain} - "
echo '<a href="'${url_activate}'">Activate</a> '

echo '<a href="https://pddimp.yandex.ru/delete_user.xml?token='${token}'&login='${login}'">Delete</a>'
echo "<br>"
 

После этого запускаем скрипт с выводом в файл доступный по http и получаем сразу прямые ссылки на

  • страничку регистрации пользователя, где ему нужно ввести капчу
  • линк на удаление пользователя.

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

P.S. Забыл упомянуть, что у яндекса есть какие-то свои библиотеки:

Для вашего удобства мы подготовили библиотеки для использования API на языках
- PHP (в архиве есть файл test.php с примерами использования)
- Python (в архиве есть файл test.py с примерами использования)

У меня с первой попытки PHP не запустилось, а дальше разбираться как-то заломало, особенно при учете, что без рук все равно не обойтись, т.к. нужно пройти капчу...