Импорт почты из вич

Обновлено: 28.03.2024

Ребят, подскажите, плиз, можно ли безболезненно перенести данные с Outlook Express на MS Outlook 2007?

Юзал вот эту инструкцию. В итоге многие письма перенеслись крякозябами.

P.S. Пардон, если не туда написал.

Fairuza, благодарю за поддержку!

Решаем проблемы в Outlook Express

Проблемы с электронной почтой – пожалуй, одна из наиболее частых причин обращения пользователей в службы технической поддержки и к системным администраторам. Несмотря на кажущуюся простоту задачи, найти причину сбоя и быстро устранить её получается не всегда. Рассмотрим наиболее частые проблемы, возникающие при работе с электронной почтой через клиент Outlook Express.

Восстановление структуры папок и базы писем

Самопроизвольное удаление писем с сервера

Иногда происходит исчезновение большого количества писем, как правило, за непрерывный промежуток времени (например, с 3 марта по 7 апреля). Обычно причиной подобного исчезновения писем является сбой при сжатии почтовой базы, в результате которого часть писем маркируется как удаленные. Восстановить письма в таком случае можно лишь с помощью ПО сторонних разработчиков. Конечно, если вы понимаете структуру dbx-файлов, можно попробовать восстановить письма вручную, но это весьма трудоемкий и сложный процесс. Чтобы подобного не происходило, следует постоянно следить за объемом свободного дискового пространства и не прерывать процесс сжатия папок.

Исчезновение списка контактов

Печать писем в неверной кодировке

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

Outlook и Outlook Express установлены на одном компьютере

Запустите мастер импорта и экспорта одним из следующих способов:

В Outlook 2010 на вкладке Файл выберите элементы Открыть > Импорт.

В Outlook 2007 в меню Файл выберите элемент Импорт и экспорт.

Выберите вариант Импорт адресов и почты Интернета и нажмите кнопку Далее.

Выберите Outlook Express.

Установите флажок Импортировать почту.

Outlook и Outlook Express установлены на разных компьютерах

Примечание: Копирования данных Outlook Express в общую папку недостаточно. Вы должны скопировать папку на компьютер, где установлено приложение Outlook.

На компьютере, где настроена учетная запись Outlook Express, в приложении Outlook Express в меню Сервис выберите элемент Параметры.

Откройте вкладку Обслуживание.

Совет: Этот путь потребуется вам на последующих этапах. Вы можете быстро выделить данные в поле, нажать клавиши CTRL+C для копирования, а затем открыть Блокнот (Майкрософт) и нажать клавиши CTRL+V для вставки.

При необходимости измените представление по умолчанию в проводнике Windows, чтобы вы могли видеть скрытые папки. Папка Outlook Express находится в скрытой папке.

Выполните одно из указанных ниже действий.

Скопируйте всю папку Outlook Express на съемных носителях, например дискетах, DVD-ДИСК или устройство флэш-памяти и скопируйте его на компьютере, на котором установлен Outlook.

Примечание: При копировании папки Outlook Express на компьютер с приложением Outlook целевая папка не имеет значения, поскольку информация будет храниться в ней временно. Скопируйте папку туда, где ее легко найти.

Скопируйте всю папку Outlook Express в сетевую папку, к которой имеют доступ оба компьютера. Затем на компьютере, где установлено приложение Outlook, скопируйте папку из сетевой папки на компьютер.

На компьютере, где установлено приложение Outlook, запустите Outlook Express. Если вам предлагается создать почтовую учетную запись, нажмите кнопку Отмена.

В меню Сервис выберите команду Параметры.

Откройте вкладку Обслуживание.

Перейдите туда, куда вы скопировали папку Outlook Express, и щелкните папку.

Чтобы закрыть диалоговое окно Обзор папок, нажмите кнопку ОК.

Выйдите из приложения Outlook Express, а затем запустите его снова, чтобы завершить процесс.

Выберите один из указанных ниже вариантов.

В Outlook 2010 на вкладке Файл выберите элементы Открыть > Импорт.

В Outlook 2007 в меню Файл выберите элемент Импорт и экспорт.

Выберите вариант Импорт адресов и почты Интернета и нажмите кнопку Далее.

Выберите Outlook Express.

Установите флажок Импортировать почту.

Импорт имени и параметров учетной записи из Outlook Express

Выберите один из указанных ниже вариантов.

В Outlook 2010 на вкладке Файл выберите элементы Открыть > Импорт.

В Outlook 2007 в меню Файл выберите элемент Импорт и экспорт.

Выберите вариант Импорт параметров учетной записи почты Интернета и нажмите кнопку Далее.

Выберите Outlook Express и нажмите кнопку Далее.

Выполните остальные инструкции в мастере импорта и экспорта.

Сведения о вопросе

Ответы (11) 

* Попробуйте выбрать меньший номер страницы.

* Введите только числа.

* Попробуйте выбрать меньший номер страницы.

* Введите только числа.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

эта инструкция вообще не подходит

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

По другому, никак.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

Но у меня есть только Windows 7, а на ней Outlook Express нет. Есть ли возможность подъехать в какое то представительство компании Microsoft что бы там мне оказали посильную помощь? Или же использование лицензионной операционной системы не предполагает никакой поддержки кроме этого форума?

Это помогло устранить вашу проблему?

К сожалению, это не помогло.

Великолепно! Спасибо, что пометили это как ответ.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.


Я люблю линукс, юникс и системное администрирование по странной причине. Это не оплата труда и не возможность управления сложными комплексами через консоль, а интересные, неформатные задачи, которые порой попадаются на пути самураев опенсорса. Об одной такой задаче я и расскажу.

Предпосылки

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

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

После сбора информации, добычи логинов, паролей и IP-адресов и некоторого исследования ситуация нарисовалась жуткая следующая:


Приветливая Slackware приветствует очередной мудрой цитатой.

Общая задача — перевести почтовый сервер на современные рельсы.

  • Актуализировать список активных почтовых аккаунтов на старом сервере.
  • Развернуть новый сервер. Как и какой — выбор за мной.
  • Перенести аккаунты на новый сервер, желательно без смены паролей, вместе с алиасами, списками рассылки и адресными книгами из SquirrelMail.
  • Пережить обязательную бурю недовольства, отвечая на гневные письма вежливо и спокойно. Решать проблемы, которые обязательно последуют.

Подготовка

Актуализация аккаунтов началась с изучения Sendmail, с которым сталкивался до этого лет пятнадцать назад.

В /etc/mail/aliases находятся алиасы, а также списки рассылки, в том числе и самый для меня на тот момент полезный — рассылка всем пользователям.

В /etc/mail/access находятся правила обработки писем и забитая вручную первичная фильтрация. Они мне понадобятся чуть позже.

Из списка рассылки получился адрес всех пользователей электронной почты, коих оказалось около пятисот. Сохранил его в файл allusers , отсортировал через sort .

Главам подразделений был выслан приказ предоставить список пользователей электронной почты. Из разрозненных экселевских табличек собрался единый список активных логинов по версии подразделений. Сохранил его в файл active, отсортировал через sort.

Получаю аццеслист — список активных юзеров:


Часть указанных подразделениями аккаунтов была написана с ошибкой, часть — находилась на сторонних почтовых серверах; нескольких вообще не существовало. Это норма.

Получаю чёрный список из тех, кто не вошел в acceslist:


Блоклист прогоняю через простенький скрипт, генерирующий часть конфигурации sendmail:


Сгенерированный конфиг переношу в /etc/mail/access на старом сервере и перезапускаю sendmail.

Аццеслист же был залит и на старый сервер, и на тот, о котором пойдёт речь дальше.

Новой платформой я выбрал iRedMail и развернул его на виртуалке с CentOS 8 в Proxmox VE. Процесс в деталях описывать смысла нет, у iRedMail подробная документация и активное комьюнити, что и послужило основной причиной выбора. CentOS — чисто личное решение, так как больше всего работал именно с ним. Перенести всё на другую систему не будет проблемой.

Платная поддержка iRedMail не приобреталась, поскольку пока не сталкивался с необходимостью, хотя допускаю, что в будущем пригодится.

Процесс переезда начался с переноса аккаунтов вместе с паролями. Со старого сервера взял файл /etc/shadow и обработал его парой кривеньких скриптов.

Чищу shadow, оставляю только строки с аккаунтами аццеслиста:


В данном случае было несколько аккаунтов с короткими трёхбуквенными именами, что привело к попаданию в файл также аккаунтов, где эти буквосочетания встречались в составе более длинных имен. Но мне было быстрее временно добавить к таким логинам в аццеслисте всю строку из shadow, чем писать более сложный и универсальный скрипт.

Оставляю только связку логин/хэш:


Скорее всего, стоило пойти по более простому пути и сформировать запрос на создание аккаунтов сразу из полученного файла с хэшем. Но пошёл чуть в обход.

В скрипте инструмента iRedMail для создания SQL аккаунтов меняю квоту ящика по умолчанию (параметр DEFAULT_QUOTA) и создаю импорт-файл для создания аккаунтов из аццеслиста с одним и тем же паролем:


В БД iRedMail для хранения паролей по умолчанию используются хэши SSHA512, но можно использовать и менее надёжные хэши MD5, вытащенные из shadow. Они могут мирно сосуществовать, так что при смене пароля или введении нового пользователя MD5 хэши будут потихоньку исчезать из базы.

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


Формирую ещё один импорт-файл:


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

Импортирую оба файла в БД:


Можно попробовать залогиниться с известным паролем в веб-интерфейс.


Roundcube по умолчанию требует указывать в качестве логина почтовый адрес полностью.

Миграция

На этом этапе записи DNS были переключены на использование нового почтового сервера. Сделано это было в пятницу вечером, с предупреждением пользователей за неделю через общую рассылку. Как только волна обновлений дошла до заокеанских DNS, был подключён сертификат Let's Encrypt по мануалу iRedMail.

Также на этом этапе обязательно следовало ограничить количество отсылаемых писем в день. Я это сделал гораздо позже, когда последовала волна взломов аккаунтов из-за недостаточно надёжных паролей (пользователи привыкли, что почта работает на отправку только внутри сети, и широко использовали цифровые пароли и вариации qwerty) и постовик загремел в блоклисты спамеров. Поток исходящего спама также вводил в ступор dovecot, который начинал сыпать очень странными ошибками, посылавшими меня по ложному пути поиска их причины.

Сотни в день будет достаточно:


Отдельным аккаунтам можно поднять лимиты:


На старом сервере всем юзернеймам из аццеслиста выставляется один и тот же пароль:


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

Формируем хэш (далее подразумевается пароль some456):


Помещаем полученный хэш в /etc/dovecot/dovecot-master-users :


Разворачивается imapsync по общедоступному мануалу. Формируется скрипт массового переноса почты:


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

Работу imapsync следует распараллеливать на несколько процессов, формировать не один большой скрипт, а несколько для разных диапазонов почтовых аккаунтов. Но с учётом постоянных столкновений с очередными проблемами синхронизации, было уже не до того. Скрипт в целом закончил работу днём понедельника. После чего были синхронизированы почтовые ящики с алиасами. Алиасов было немного, так что мне было быстрее сформировать скрипты для imapsync и импорт-файл с форвардингами вручную.

Осталось перенести адресные книги в новый веб-интерфейс — Roundcube. SquirrelMail, как оказалось, лежал на другом сервере отдельно от MTA. После получения пароля от него выгрузил адресные книги в формате *.abook на новый сервер. Тут, по счастью, нашлось готовое решение — вот это.

В скрипте указываются параметры БД Roundcube (лежат в его конфиге). Всё достаточно просто, почтовые книги появились в веб-интерфейсе.

Последствия

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

Из-за слишком нового SSL отвалились старые версии TheBat (да, его ещё используют и даже пришлось покупать ключи от актуальной версии для совсем непримиримых пользователей).

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


Что-то ещё тюнилось по мелочи типа более суровой настройки fail2ban или настройки DNS, но решения быстро находились в гугле и форуме iRedMail. Не отложилось в памяти.

На будущее

Что хотел бы реализовать, но пока не дошли руки:

  • Служебный Telegram-бот, в том числе с сигнализацией о выходе аккаунта за лимит отправки писем в день (что в 99% случаев означает взлом аккаунта из-за слабого пароля). При сильном выходе за лимит — автоблокировка сменой пароля. Пока приходится мониторить maillog через grep.
  • Интеграция с Nextcloud (был параллельно развёрнут на соседней виртуалке)
  • Интеграция с OTRS.

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS
— 20% на выделенные серверы AMD Ryzen и Intel Core — HABRFIRSTDEDIC .
Доступно до 31 декабря 2021 г.

Люди часто сталкиваются с необходимостью переноса контактных данных между сотовыми. Чтобы не добавлять каждую запись заново и по отдельности предусмотрены функции экспорта и импорта. Иногда потребители путают эти понятия. Статья поможет разобраться, чем различаются два термина, и покажет, как совершаются такие процессы в современных смартфонах.

Что значит импорт и экспорт контактов в телефоне

Говоря простым языком, импорт — это добавление, а экспорт — изъятие.

Что такое импорт и зачем он нужен

Импорт — добавление контактных данных в приложение на девайсе с внутреннего хранилища, SIM- или MicroSD-карты.

Нужен он при смене пользователем мобильного устройства и необходимости перенести значения с SIM-карты. Этот процесс находит применение при восстановлении данных с резервной копии.

Экспорт и его функции

Экспортом называется перенос контактных данных на мобильном девайсе во внутренний или внешний накопитель либо на SIM-карту.

Основными его функциями являются перемещение текстовой информации между сотовыми либо на SIM-карту и создание Backup’а (резервной копии). Процесс бывает полезен при освобождении места на накопителе. Но это актуально лишь для старых сотовых, где максимальное количество имен в телефонной книге небольшое.

В чем ключевые отличия импорта от экспорта

Импорт и экспорт контактов в телефоне отличаются тем, что в первом происходит добавление информации в список номеров, а во втором сведения, наоборот, изымаются оттуда. Разница в том, что экспортировать данные обычно означает записать текст в память девайса, а импортировать контакты — это значит считать сведения с файла, находящегося на устройстве.

Как экспортировать и импортировать контакты

Используя Google-аккаунт

Перенести номера на аккаунт Google можно таким образом:

Список контактов

Переход в меню

Экспорт контактов

Выбор места сохранения экспорта

Сохранение файла экспорта контактов

Внимание! Добавить данные на девайсах с ОС Android можно с SIM-карты или виртуальной карточки, находящейся в памяти аппарата.

Для извлечения с SIM понадобится произвести следующие действия:

  1. Вставить СИМ-карту в смартфон или планшет.
  2. Открыть программу, содержащую номера на Android-устройстве.

Список контактов

Вызов меню

Импорт контактов

Выбор откуда импортировать

Если сведения находятся в специальном документе формата . vcf , импорт производится так:

Список контактов

Импорт контактов

Выбор аккаунта для экспорта

  1. Найти и открыть документ . vcf , откуда будут извлечены значения.

Выбор файла экспорта

Через сторонние приложения

Перенос информации с мобильных устройств можно осуществить с помощью компьютерной программы MOBILedit .

Экспортировать контакты с помощью MOBILedit можно следующим образом:

Подключение к телефону

  1. В появившемся окне выбрать PC Sync или Cable (в зависимости от версии программы).

Выбор типа подключения к телефону

Переход в расширенные настройки

Активация раздела

Активация раздела

Выбор пункта

  1. Выбрать, какие именно нужно экспортировать контакты.

Выбор типа контактов для экcпорта

Выбор контактов для экcпорта

  1. Указать тип файла CSV и путь сохранения его на компьютере.

Выбор типа файла для экcпорта

Импортировать контакты в данной утилите ещё проще. Требуется совершить следующие действия:

Выбор пункта

Выбор, откуда импортировать

Достоинствами программы MOBILedit являются поддержка большого количества моделей телефонов (не только смартфонов с ОС Android) и возможность экспорта в CSV-файл, который беспрепятственно открывается в Microsoft Excel. Но у приложения есть и недостатки: отсутствие русского языка и платная лицензия.

В этой статье мы объясним, как пользователи могут извлекать электронные письма из файла OST. По сути, блог состоит из следующих основных разделов:

1: Требование для извлечения электронной почты из файла OST.

2: Использование функции импорта / экспорта в Outlook для извлечения писем из OST.

3: Автоматическое решение для извлечения писем из файла OST.

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

Зачем пользователям нужно извлекать электронные письма из файла OST?

Как мы знаем, OST — это автономный файл, который создается при синхронизации Outlook с Exchange. Он сохраняет данные кэша Microsoft Exchange Server со связанным почтовым ящиком.

Некоторые из распространенных причин извлечения электронной почты из файла OST перечислены ниже:

1: Чтобы создать копию электронных писем OST.

2: Если у пользователя есть осиротевший OST-файл и ему требуется доступ к данным.

Теперь давайте решим это с помощью ручного решения.

Ручной метод извлечения писем из файла OST

Выполните следующие действия, чтобы извлечь электронные письма из Outlook:

1: Запустите Microsoft Outlook в автономном режиме.

3: Мастер импорта и экспорта откроется на локальном компьютере.

Затем вам нужно скопировать и перенести почтовый ящик из файла Outlook PST в почтовый ящик на сервере.

Помимо этого, ручная техника ограничивается извлечением электронных писем из файлов OST небольшого размера. Чтобы извлечь электронные письма с вложениями из OST огромного размера, вы должны использовать автоматизированный инструмент. Процесс должен быть выполнен правильно, чтобы получить желаемый результат.

Как извлечь электронные письма из Outlook 2019, 2016, 2013, 2010, 2007, 2003 OST-файл — автоматизированное решение

Когда у вас есть OST в вашей системе, сначала вам нужно преобразовать OST в PST. Потому что вы не можете напрямую извлекать электронные письма из файла OST.

Чтобы сделать этот процесс преобразования, вы должны использовать автоматический конвертер.

Используя этот профессиональный инструмент, вы можете легко выполнить эту задачу без установки Outlook.

Загрузите инструмент:


Давайте посмотрим, как работает инструмент.

1: Установите и запустите инструмент.


2: Затем выберите файлы OST с помощью функции перетаскивания или выбора файлов.




После преобразования файла вы можете получить доступ и извлечь данные из этого файла. Кроме того, вы можете получить доступ к преобразованным данным в Outlook 2019, 2016, 2013, 2010 и более ранние версии.

Вывод

С помощью этого блога вы можете легко извлекать электронные письма из файла OST. Если у вас есть осиротевший OST-файл и вам нужно получить доступ к их данным электронной почты, тогда вам нужно выбрать автоматическое решение, которое описано в этом блоге.


Я люблю линукс, юникс и системное администрирование по странной причине. Это не оплата труда и не возможность управления сложными комплексами через консоль, а интересные, неформатные задачи, которые порой попадаются на пути самураев опенсорса. Об одной такой задаче я и расскажу.

Предпосылки

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

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

После сбора информации, добычи логинов, паролей и IP-адресов и некоторого исследования ситуация нарисовалась жуткая следующая:


Приветливая Slackware приветствует очередной мудрой цитатой.

Общая задача — перевести почтовый сервер на современные рельсы.

  • Актуализировать список активных почтовых аккаунтов на старом сервере.
  • Развернуть новый сервер. Как и какой — выбор за мной.
  • Перенести аккаунты на новый сервер, желательно без смены паролей, вместе с алиасами, списками рассылки и адресными книгами из SquirrelMail.
  • Пережить обязательную бурю недовольства, отвечая на гневные письма вежливо и спокойно. Решать проблемы, которые обязательно последуют.

Подготовка

Актуализация аккаунтов началась с изучения Sendmail, с которым сталкивался до этого лет пятнадцать назад.

В /etc/mail/aliases находятся алиасы, а также списки рассылки, в том числе и самый для меня на тот момент полезный — рассылка всем пользователям.

В /etc/mail/access находятся правила обработки писем и забитая вручную первичная фильтрация. Они мне понадобятся чуть позже.

Из списка рассылки получился адрес всех пользователей электронной почты, коих оказалось около пятисот. Сохранил его в файл allusers , отсортировал через sort .

Главам подразделений был выслан приказ предоставить список пользователей электронной почты. Из разрозненных экселевских табличек собрался единый список активных логинов по версии подразделений. Сохранил его в файл active, отсортировал через sort.

Получаю аццеслист — список активных юзеров:


Часть указанных подразделениями аккаунтов была написана с ошибкой, часть — находилась на сторонних почтовых серверах; нескольких вообще не существовало. Это норма.

Получаю чёрный список из тех, кто не вошел в acceslist:


Блоклист прогоняю через простенький скрипт, генерирующий часть конфигурации sendmail:


Сгенерированный конфиг переношу в /etc/mail/access на старом сервере и перезапускаю sendmail.

Аццеслист же был залит и на старый сервер, и на тот, о котором пойдёт речь дальше.

Новой платформой я выбрал iRedMail и развернул его на виртуалке с CentOS 8 в Proxmox VE. Процесс в деталях описывать смысла нет, у iRedMail подробная документация и активное комьюнити, что и послужило основной причиной выбора. CentOS — чисто личное решение, так как больше всего работал именно с ним. Перенести всё на другую систему не будет проблемой.

Платная поддержка iRedMail не приобреталась, поскольку пока не сталкивался с необходимостью, хотя допускаю, что в будущем пригодится.

Процесс переезда начался с переноса аккаунтов вместе с паролями. Со старого сервера взял файл /etc/shadow и обработал его парой кривеньких скриптов.

Чищу shadow, оставляю только строки с аккаунтами аццеслиста:


В данном случае было несколько аккаунтов с короткими трёхбуквенными именами, что привело к попаданию в файл также аккаунтов, где эти буквосочетания встречались в составе более длинных имен. Но мне было быстрее временно добавить к таким логинам в аццеслисте всю строку из shadow, чем писать более сложный и универсальный скрипт.

Оставляю только связку логин/хэш:


Скорее всего, стоило пойти по более простому пути и сформировать запрос на создание аккаунтов сразу из полученного файла с хэшем. Но пошёл чуть в обход.

В скрипте инструмента iRedMail для создания SQL аккаунтов меняю квоту ящика по умолчанию (параметр DEFAULT_QUOTA) и создаю импорт-файл для создания аккаунтов из аццеслиста с одним и тем же паролем:


В БД iRedMail для хранения паролей по умолчанию используются хэши SSHA512, но можно использовать и менее надёжные хэши MD5, вытащенные из shadow. Они могут мирно сосуществовать, так что при смене пароля или введении нового пользователя MD5 хэши будут потихоньку исчезать из базы.

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


Формирую ещё один импорт-файл:


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

Импортирую оба файла в БД:


Можно попробовать залогиниться с известным паролем в веб-интерфейс.


Roundcube по умолчанию требует указывать в качестве логина почтовый адрес полностью.

Миграция

На этом этапе записи DNS были переключены на использование нового почтового сервера. Сделано это было в пятницу вечером, с предупреждением пользователей за неделю через общую рассылку. Как только волна обновлений дошла до заокеанских DNS, был подключён сертификат Let's Encrypt по мануалу iRedMail.

Также на этом этапе обязательно следовало ограничить количество отсылаемых писем в день. Я это сделал гораздо позже, когда последовала волна взломов аккаунтов из-за недостаточно надёжных паролей (пользователи привыкли, что почта работает на отправку только внутри сети, и широко использовали цифровые пароли и вариации qwerty) и постовик загремел в блоклисты спамеров. Поток исходящего спама также вводил в ступор dovecot, который начинал сыпать очень странными ошибками, посылавшими меня по ложному пути поиска их причины.

Сотни в день будет достаточно:


Отдельным аккаунтам можно поднять лимиты:


На старом сервере всем юзернеймам из аццеслиста выставляется один и тот же пароль:


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

Формируем хэш (далее подразумевается пароль some456):


Помещаем полученный хэш в /etc/dovecot/dovecot-master-users :


Разворачивается imapsync по общедоступному мануалу. Формируется скрипт массового переноса почты:


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

Работу imapsync следует распараллеливать на несколько процессов, формировать не один большой скрипт, а несколько для разных диапазонов почтовых аккаунтов. Но с учётом постоянных столкновений с очередными проблемами синхронизации, было уже не до того. Скрипт в целом закончил работу днём понедельника. После чего были синхронизированы почтовые ящики с алиасами. Алиасов было немного, так что мне было быстрее сформировать скрипты для imapsync и импорт-файл с форвардингами вручную.

Осталось перенести адресные книги в новый веб-интерфейс — Roundcube. SquirrelMail, как оказалось, лежал на другом сервере отдельно от MTA. После получения пароля от него выгрузил адресные книги в формате *.abook на новый сервер. Тут, по счастью, нашлось готовое решение — вот это.

В скрипте указываются параметры БД Roundcube (лежат в его конфиге). Всё достаточно просто, почтовые книги появились в веб-интерфейсе.

Последствия

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

Из-за слишком нового SSL отвалились старые версии TheBat (да, его ещё используют и даже пришлось покупать ключи от актуальной версии для совсем непримиримых пользователей).

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


Что-то ещё тюнилось по мелочи типа более суровой настройки fail2ban или настройки DNS, но решения быстро находились в гугле и форуме iRedMail. Не отложилось в памяти.

На будущее

Что хотел бы реализовать, но пока не дошли руки:

  • Служебный Telegram-бот, в том числе с сигнализацией о выходе аккаунта за лимит отправки писем в день (что в 99% случаев означает взлом аккаунта из-за слабого пароля). При сильном выходе за лимит — автоблокировка сменой пароля. Пока приходится мониторить maillog через grep.
  • Интеграция с Nextcloud (был параллельно развёрнут на соседней виртуалке)
  • Интеграция с OTRS.

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS
— 20% на выделенные серверы AMD Ryzen и Intel Core — HABRFIRSTDEDIC .
Доступно до 31 декабря 2021 г.

Читайте также: