При администрировании почтового сервера на базе Postfix + Dovecot часто возникает задача — перенести все письма от одного пользователя к другому. Это может понадобиться при слиянии аккаунтов, восстановлении после ошибки или миграции данных.
В этой статье рассмотрим четыре надёжных способа переноса почты, от простого копирования файлов до использования специализированных утилит. Все команды приведены «под рукой» для быстрого копирования в терминал.
Если почта хранится в формате Maildir
(стандарт для Dovecot), можно скопировать файлы напрямую.
# Копируем письма из user1 в user2 (пример для домена example.com)
cp -r /var/vmail/example.com/user1/cur/* /var/vmail/example.com/user2/cur/
cp -r /var/vmail/example.com/user1/new/* /var/vmail/example.com/user2/new/
# Восстанавливаем права (обычно владелец — vmail)
chown -R vmail:vmail /var/vmail/example.com/user2/
chmod 600 /var/vmail/example.com/user2/cur/*
chmod 600 /var/vmail/example.com/user2/new/*
Утилита doveadm
— «родной» инструмент Dovecot для управления почтой. Она корректно обрабатывает флаги, индексы, квоты и структуру папок.
# Копировать ВСЕ письма из user1 в user2 (сохраняя структуру папок)
doveadm copy -u user2@example.com '*' user1@example.com ALL
# Переместить (удалить из исходного ящика)
doveadm move -u user2@example.com '*' user1@example.com ALL
# Принудительно перестроить индексы у получателя
doveadm index -u user2@example.com '*'
dovecot.conf
указан корректный mail_location
и включены нужные плагины (например, imap
).
Если у вас нет shell-доступа к серверу, но есть IMAP-учётные данные, используйте imapsync
.
# Установка (Debian/Ubuntu)
sudo apt install imapsync
# Синхронизация между двумя ящиками на одном сервере
imapsync \
--host1 localhost --user1 user1@example.com --password1 'пароль1' \
--host2 localhost --user2 user2@example.com --password2 'пароль2'
Roundcube не поддерживает массовый перенос между аккаунтами «из коробки». Однако с плагином ImportExport
можно:
.mbox
из аккаунта user1.Если у получателя включены квоты, проверьте использование:
doveadm quota get -u user2@example.com
При необходимости увеличьте лимит через PostfixAdmin или временно отключите квоты в конфигурации Dovecot.
✅ Лучший способ — doveadm copy
: безопасно, быстро, корректно.
🛠️ Резервный вариант — копирование файлов вручную (только при уверенности в структуре).
🌐 Без shell-доступа — используйте imapsync
.
Выбирайте метод под ваш уровень доступа и объём данных — и почта перенесётся без потерь!
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!