Как перенести почту со своего почтового сервера на Zimbra?

    «Приходится бежать со всех ног, чтобы только остаться на том же месте» — эту фразу Льюиса Кэролла можно смело применить к работе айтишников, ведь тренды в отрасли информационных технологий меняются быстрее, чем где бы то ни было. Так, например, внедренный когда-то на предприятии корпоративный почтовый сервер уже не в полной мере отвечает запросам современного бизнеса, который, для того чтобы оставаться на плаву, нуждается в полноценной системе совместной работы, способной легко интегрироваться с другими информационными системами предприятия.

    image

    IT-менеджеры, которые хотят не только организовать работающую коллаб-систему на предприятии, но и максимально сэкономить бюджет, выделенный на ИТ, нередко обращают внимание на Zimbra Open-Source Edition. К плюсам Zimbra OSE можно отнести бесплатность и полностью открытый исходный код решения, а также то, что десятки тысяч предприятий по всему миру успешно используют Zimbra OSE в своей работе. Но мало просто внедрить систему на предприятии, необходимо перенести в нее всю накопившуюся переписку из старого почтового сервера.

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

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

    imapsync --nosyncacls --subscribe --syncinternaldates \
    --host1 mail.server.local --user1 %Login% --password1 %Password% \
    --host2 zimbra.server.local --user2 %ZimbraLogin% --password2 %ZimbraPassword%

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



    Теперь осталось только написать простенький скрипт, дать ему права на исполнение и запустить его. После запуска скрипта программа автоматически синхронизирует переписку между исходным почтовым сервером и сервером с Zimbra. Выглядеть итоговый скрипт будет примерно так:

    . imap_users
    src_srv = source.server.com
    dest_srv = zimbra.server.com
    for ((i = 0; i < ${#users[@]}; i++ ))
    do
    /usr/bin/imapsync --noauthmd5 --syncinternaldates --buffersize 65535000 --subscribe \
    -host1 $src_srv --ssl1 --user1 ${users[$i]} --password1 ${passwords[$i]} --nofastio1
    --host2 $dest_srv --ssl2 --user2 ${users[$i]} --password2 ${passwords[$i]} --nofastio2
    done

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

    Впрочем, гладко этот процесс выглядит только на бумаге. Зачастую ИТ-менеджеры сталкиваются с неожиданными проблемами. Одной из них является установленное по умолчанию в Zimbra ограничение в 10 мегабайт на одно письмо, из-за чего попытка синхронизации писем с большими вложениями может привести к появлению ошибки.

    Решить этот вопрос можно увеличив максимально допустимый размер письма. Например команда zmprov mcf zimbraMtaMaxMessageSize 52428800 увеличивает его до 50 мегабайт.

    Ошибки могут возникнуть и при синхронизации больших почтовых ящиков с огромным числом папок и подпапок, содержащих тысячи писем. Из-за большого размера таких ящиков на стороне сервера Zimbra может произойти разрыв связи из-за истечения времени сессии. Для того, чтобы этого не происходило, рекомендуем запускать синхронизацию с параметрами --nofoldersizes --skipsize --fast.
    Zimbra
    111,00
    Zimbra и модульное расширение Zextras Suite
    Поделиться публикацией

    Комментарии 2

      0

      А если паролей нет в открытом виде?

        0
        Добрый день, существует вариант переноса почтовых ящиков и без необходимости знания паролей, однако доступен он только в тех системах, в которых поддерживается и включен так называемый «Аккаунт администратора», дающий доступ к почтовой переписке других пользователей. Для таких случаев можно использовать флаг --authuser[1|2] при переносе содержимого почтовых ящиков.

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

      Самое читаемое