Процедура миграции на Яндекс.Почту

Появилась задача сделать почти 300 ящиков на Яндекс.Почте для домена.
Изначально пост имел название “Чекер почтовых ящиков” – это часть миграции, но получился о шагах миграции корпоративной почты с левых, глючых почтовых служб на нормальный Яндекс)

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

Пришлось много парсить :) Фактически это руководство о том, как переезжать на Яндекс.почту

Подтверждение прав на домен

Перовоочередная операция на странице вбиваем домен и доказываем, что он ваш – либо через файлик в корне сайта сервера, либо через CNAME. Второй способ мне больше нравится.

Определить названия ящиков

Сохраняем страничку на диск, проходимся по ней грепом несколько раз, после чего убираем повторяющиеся ящики:

$ cd /tmp
$ grep "@domain.ru" file_from_adminpanel.html > draft.txt
$ grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*' draft.txt | sort -u > emails.csv

Сгенерить пароли

Пароли я сгенерил отдельно в другой файл (чтоб потом в OO Calc слить два файла по столбцам) – вырожение озаначает что нужно сгенерить случайный набор и добавить его в файл в pwds количество раз, равное количеству строк в файле emails.csv (т.е. столько, сколько почтовых ящиков)


$ for i in `seq 1 $(seq 1 `wc -l emails.csv | awk '{print $1}`); \
do mktemp -u XXXXXXXX >> pwds; \
done

Совместить ящики и пароли в едином файле

Теперь в OO Calc открыть emails.csv, а файл pwds с паролями в чем нить другом, например в geany. Скопировать всё содержимое pwds и вставить в ячейку 1B – получится 2 столбца email:password. Можно и нужно это дело сохранить :)

Непосредственное создание ящиков

Тут я очень очень тупанул – мне требовалось создать почти 300 ящиков! А форма в яндексе не позволяет загружать csv как это сделанно в Google Apps – только по одному! Я отчаянно забил все адреса руками, благо есть копирование выделением мышки.

Не делайте так, если много ящиков! У Яндекса есть API для управлением ящиками, которое я не видел ((

Протестировать

Набросал скриптик на пхп, который долбится по каждому ящику и пишет либо ok либо fail – смог залогинится или нет, соответственно

На входе – файл emails.csv в формате login,pass – при экспорте из ОО обратите внимание на ковычки дял строк – их НЕ должно быть. Также нужно ввести адрес pop3 сервера


$line) {
list($email, $password) = explode(',', $line);
echo ($n+1) . ". {$email} - " . (isValidEmailAccount($email.'1', $password, $POP3HOST) ? "ok!" : "fail") . "\n";
}

Получается нечто такого:

ФинишЪ

На этом всё, можно пользоваться адекватным сервисом (:

Для удобства можно сделать урл для входа в почту mail.domain.ru – для этого нужно добавить CNAME запись mail, которая указывает на domain.mail.yandex.net. Подробности в их документации

И да, не забыть указать mx запись на mx.yandex.ru после создания всех ящиков

  • здравствуйте. а в виде ехе-шника чекера нет? типа файл с аккаунтами\паролями ему дал и он прочекал на валидность?

    • ruX

      Думаю если постораться можно найти под венду чекер, возможно даже без вирусов :)