Перенос 3500 почтовых ящиков с Яндекс на свой сервер
В этом обзоре расскажем о том, куда и как перенести почту с Яндекс и сколько это стоит.
«Яндекс 360» анонсировал ввод платы за использования почтового сервиса для бизнеса от 249 руб. за пользователя с апреля 2023 года. Это значит, что компании, которые долгое время использовали почтовый сервис бесплатно, вынуждены платить за него или искать альтернативу.
Куда перенести почту с Яндекс?
К нам обратился потенциальный клиент, ищущий альтернативу сервису Яндекс с целью оптимизации затрат. Запрос был таким:
Подготовить почтовую инфраструктуру и перенести на нее 3500 ящиков с Яндекс объемом до 100 Гб. Почтовая система должна быть отказоустойчивой – важно получить все письма до единого!
Также отметим, что клиент не планировал самостоятельно администрировать сервис, а рассчитывал на поддержку с нашей стороны.
Для такого запроса необходима отказоустойчивая почтовая система с удобной панелью управления, чтобы привычно создавать и управлять почтовыми ящиками. Также нужно достаточное количеством места, с потенциалом на рост количества и размера ящиков. И обязательное резервирование почтовых сервисов в случае отсутствия связности.
Исходя из этих требований, была выбрана инфраструктура на 2-х серверах в разных дата-центрах, а в качестве панели управления — ISPmanager.
Для клиента мы предложили два варианта на выбор:
1. Инфраструктура на базе выделенных серверов.
- Основной сервер: Supermicro 5019, X11SSL-F, CPU Intel Xeon E3-1240V5> 3.5GHz, RAM 8 Gb, 240 Гб SSD x2, RAID 1 с ОС AlmaLinux 8 + панель ISPmanager Lite. Расположение в ДЦ г. Санкт-Петербурга.
- Резервный MX-сервер с расположением в дата-центре г. Москва.
2. Инфраструктура на виртуальных серверах (VPS) на NVMe дисках.
- Основной VPS на тарифе KVM-160 с предустановленной ОС AlmaLinux 8 + панель ISPmanager Lite. Расположение — г. Санкт-Петербург.
- Второй VPS на тарифе KVM-20 будет являться резервным MX-сервером. Расположение — г. Москва.
Клиент выбрал вариант на выделенных серверах.
Мы опишем решение на базе VPS, так как процесс миграции на физической или реальной инфраструктуре не отличается, а решение на VPS имеет несомненный плюс — более низкую стоимость.
Как перенести почту с Яндекс на VPS сервер
Шаг 1. Заказ оборудования.
Выбираем решение на инфраструктуре из двух VPS: основной и резервный.
Заказываем подходящие тарифы: KVM-160 для основного сервера и KVM-20 для резервного, этого вполне хватит под потребности на 100 Гб.
- На KVM-160 при заказе указываем для установки ОС AlmaLinux 8 и панель ISPmanager Lite для удобного управления почтой, выбираем дата-центр в СПб.
- На KVM-20 при заказе ставим только ОС AlmaLinux 8 и выбираем дата-центр в Москве, ISP там не понадобится.
Шаг 2. Настройка основного VPS KVM-160.
После оплаты услуги ОС AlmaLinux 8 и панель ISPmanager Lite устанавливаются автоматически. Доступы к виртуальной машине приходят на почту в письме.
Шаг 3. Настройка резервного MX-сервера KVM-20.
Резервный сервер нужен, чтобы в случае отсутствия связности с первым сервером все отправленные письма дошли до нас.
3.1. На резервном VPS KVM-20 устанавливаем Postfix:
- В RedHat based дистрибутивах это делается путем выполнения команды:
- В Debian-based дистрибутивах:
Обратите внимание: если при установке возникает запрос по конфигурации, то нужно выбрать пункт «только локальное использование», либо «only local use» в зависимости от языка в консоли.
3.2. Далее производим настройку Postfix следующим образом
- Находим и открываем конфигурационный файл /etc/postfix/main.cf . Добавляем в конец строку:
- Находим в файле и раскомментируем строку
- Далее находим строку
и заменяем ее на:
В случае отсутствия строки следует добавить её в конфигурационный файл.
Где $mydestination, kvmtest.sweb.ru, testdomain.ru — серверы приема почты (релеи): $mydestination – хост, на котором работает postfix
kvmtest.sweb.ru, testdomain.ru – доменные имена, для которых пересылаем почту.
3.3. Настройки резервного MX-сервера закончены, теперь нужно перезапустить Postfix командой:
Важно! Резервный почтовый сервер перенаправляет и хранит почту только для доменов, которые указаны в конфигурационном файле.
Т.е если необходимо, чтобы резервный почтовый сервер работал для какого-то дополнительного домена, то на нем необходимо в файле /etc/postfix/main.cf отредактировать следующую строку, добавив новый домен через запятую (она в самом конце файла):
После чего перезагрузить postfix:
Шаг 4. Настройка взаимодействия основного и резервного серверов.
Чтобы основной почтовый сервер начал работать с резервным, вносим правки в почтовый сервер exim на основном сервере KVM-160.
4.1. Находим конфигурационный файл /exim/etc/exim/exim.conf
4.2. В конфигурационном файле exim’а заменяем строку
на строку
4.3. Перезапускаем сервис для применения изменений командой:
Шаг 5. Создание почтовых ящиков на новом сервере по списку.
Берем файл со списком почтовых ящиков (emails.txt) с Яндекса и создаем их на основном VPS с помощью скрипта:
Список emails. txt ящиков должен быть в виде:
email:password
Если пароль не указан в строке с почтовым ящиком, то устанавливается значение из переменной default_pass.
Шаг 6. Смена MX-серверов и настройка DNS
После переноса почты(!) на новую инфраструктуру производим настройку DNS записей. На этом этапе, пока идет обновление dns-зоны, письма поступают как в систему Яндекса, так и на новую инфраструктуру.
6.1. Создаем поддомены для основного и резервного релеев (почтовых серверов):
- mail.testdomain.ru — для основного,
- relay.testdomain.ru — для резервного.
6.2. Редактируем A-записи:
удаляем CNAME-запись mail.testdomain.ru,
- добавляем A-запись mail.testdomain.ru на 11.222.33.444
- добавляем A-запись relay.testdomain.ru, указывающую на 44.333.22.111
Где
11.222.33.444 — ip-адрес основного сервера KVM-160
44.333.22.111 — ip-адрес резервного сервера KVM-20
6.3. Редактируем MX-записи:
- Меняем основную MX-запись (приоритет 10) с «mx.yandex.net» на «mail.testdomain.ru»
- Добавляем дополнительную MX-запись с приоритетом 20 со значением «relay.testdomain.ru»
6.4. Редактируем TXT-записи если необходимо:
Если у вас есть SPF-запись, то в конце, добавляем «mx» перед ~all:
* Если домен будет использовать DNS-серверы SpaceWeb, то необходимо вручную перенести записи из редактора DNS Яндекса на SpaceWeb, после чего изменить NS-записи домена у регистратора. Инструкция по работе с DNS домена.
Шаг 7. Проверка работы почты.
Подключаемся к почтовому веб-клиенту: http://kvmtest.sweb.ru/roundcube/
Также переходить в почтовый ящик можно сразу из ISP, выделив его в списке и нажав на «Почтовый клиент».
Пробуем отправить и получить письмо на нужный email.
Шаг 8. Миграция содержимого почтовых ящиков.
Используем утилиту переноса содержимого ящиков. Можно взять готовую у нас) Она отработает за несколько часов и перенесет все письма на новое место.
Для переноса содержимого почтовых ящиков воспользуемся утилитой imapsync, которая позволяет переносить почту с различных почтовых систем. Для установки на AlmaLinux 8 можно воспользоваться менеджером пакетов dnf
8.1. Для установки инструмента выполняем в терминале:
8.2. Далее проверяем корректность установки:
8.3. Для переноса одного почтового ящика, используем конструкцию:
Где
- imap. yandex. ru — имя сервера imap, откуда мы будем забирать почту.
- login@test1.ru —имя переносимого ящика, fsdrsf пароль от этого ящика.
- mail.testdomain.ru имя сервера imap, куда мы будем переносить почту.
- login@test2.ru —имя ящика куда будем переносить почту, safdgfgfdfd пароль от этого ящика.
8.4. Для переноса почты списком используем bash скипт. Для этого создаем файл:
Добавляем в него содержимое:
Делаем его исполняемым:
На его вход подается файл file.txt, который нужно создать в одной директории со скриптом и из которого берутся адреса и учетные данные для узлов источника и приемника. Сам файл file.txt должен содержать строки:
где user_N и password_N имена реальных почтовых ящиков и паролей;
Для удобства, в новых почтовых ящиках можно задать одинаковый пароль, а после переноса изменить его.
После того, как файл источника готов, выполняем скрипт
Шаг 9. Подключение мониторинга доступности сервисов.
На последнем этапе подключаем услугу мониторинга к нашей инфраструктуре. Она позволит отслеживать доступность почтового сервиса и получать уведомления о недоступности на телефон, email или в Telegram.
Перенос почты на новую платформу занимает несколько дней.
В результате получаем почтовую систему для 3500 почтовых ящиков (а при необходимости и больше) с удобной панелью управления ISPmanager, мониторинг системы и круглосуточную поддержку всего за 4548 рублей в месяц, вместо сотен тысяч рублей на Яндекс.
Ну может твой вариант и получился бы, если бы не одно но. Для каждой учётки тебе придётся сделать "пароль приложения", а у тебя их, судя по заголовку, 3500.
ага, а еще имапсинк крашится если находит в названии ящиков неподдерживаемые символы, например точку.
Ничего в этом не понимаю кроме того, что я недавно грохнул приложуху Яговномайл из-за рекламы на полэкрана, и перенастроил сбор на почты на Гмайл.
А Вы - подошли к этому со вселенским масштабом!
У меня 250 ящиков. Тоже съезжаем с яндекса.
НО почему постфикс? У вас юзера без вебки польуются почтой?
Мы на Мдемона уплываем попутно утягиваем яндекс диск за собой в почту..
На файл шару переносим и в почту цепляем.
А письма по папкам оно распределило при переносе?
Запустил - раскидало по папкам. Ещё бы понять какой параметр прописать, чтобы письма в папках не дублировались в inbox.
А ещё у меня почему-то папка "Отправленные" не синхронизировалась с яши. На host2 пусто. У вас норм?