Назад | Перейти на главную страницу

Как получить из резервной копии старые электронные письма, которые хранились в папке входящих сообщений Roundcube?

У меня Ubuntu 16.04 (Desktop Ed.). Для электронной почты я использую SMTP-сервер (Postfix / Dovecot / Roundcube). Время от времени я делаю резервную копию всей системы с нуля с помощью Clonezilla (плюс резервная копия файла tarball на всякий случай). Поскольку это занимает довольно много времени, я часто просто делаю резервную копию своей структуры каталогов www и баз данных, которые я создаю из PHPMyAdmin. В том числе и файл roundcube.sql. Собственно папка "Roundcube" находится в директории public_html одного из моих сайтов (у меня их несколько на одной физической машине). ТАКЖЕ ... и это, вероятно, важная вещь здесь ... У меня есть содержимое папки "mail", которая сама является подкаталогом другой папки, названной в честь пользователя в системе (которую я использую как логин в интерфейсе веб-почты RC). Думаю, я создал его вручную, когда устанавливал Roundcube несколько месяцев назад. В этой папке "mail" у меня есть подпапка ".imap" с папками "INBOX", "INBOX.Sent", "Trash" и другими. Так что я думаю, что в основном у меня все это есть в качестве резервной копии. Вот что я подумал ... Итак, когда мой жесткий диск умер несколько дней назад, я легко воссоздал все из образа Clonezilla, созданного чуть больше месяца назад. НО ... Когда я сейчас перехожу в папку "Входящие" RC ... Я вижу только те электронные письма, которые были там тогда (т.е. месяц назад, а не последние!) Импорт roundcube.sql не помогает. У меня все еще отсутствуют эти недавние электронные письма ... Я хочу каким-то образом восстановить их или, по крайней мере, получить доступ к моим недавним электронным письмам (тем, которые были в папке «Входящие» RC ПОСЛЕ создания резервной копии Clonezilla).

Магазин сообщений

Roundcube - это не почтовый сервер, а почтовый клиент a.k.a. почтовый пользовательский агент (MUA); в Архитектура Интернет-почты (RFC 5598) он похож на Outlook и Thunderbird, хотя это веб-почта, написанная на PHP, запускается на веб-сервере и используется через веб-браузер.

Сообщения хранятся на сервере IMAP., а Агент доставки почты (MDA) включая Магазин сообщений (РС). В то время как MUA может использовать MS (что было типично для POP3), с IMAP сообщения обычно хранятся на сервере удаления. Сообщения могут (часто частично) кэшироваться локально, но кэширование для веб-почты встречается реже. Исходящие сообщения отправляются через SMTP-сервер (агент отправки почты. MSA / Агент передачи сообщений MTA).

В Roundcube оба сервера IMAP и SMTP настраиваются в config.inc.php:

// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
$config['default_host'] = 'localhost';

// SMTP server host (for sending mails).
$config['smtp_server'] = 'localhost';

Информация о MS, доступ к которой осуществляется с помощью IMAP, находится в тех файлах, которые вы нашли в своих резервных копиях, то есть в папках INBOX, INBOX.Sent, Trash и т. д. Если у вас нет сообщений об этих файлах, у вас нет их резервных копий.

База данных Roundcube

Из исходной структуры базы данных Roundcube Webmail в mysql.initial.sql вы можете сделать вывод, что база данных содержит сведения, которые не предоставляются или не сохраняются на сервере IMAP: информация о сеансе, пользователи с их настройками, контакты, идентификаторы с подписями, словари, поисковые запросы, кеши и т. д.

В Roundcube есть возможность кеш сообщений (стол cache_messages), но по умолчанию он отключен в defaults.inc.php и имеет некоторые предварительные требования для сервера IMAP:

// Enables messages cache. Only 'db' cache is supported.
// This requires an IMAP server that supports QRESYNC and CONDSTORE
// extensions (RFC7162). See synchronize() in program/lib/Roundcube/rcube_imap_cache.php
// for further info, or if you experience syncing problems.
$config['messages_cache'] = false;

Это хорошо аргументированный выбор: по умолчанию для сервера IMAP установлено значение localhost сообщения не извлекаются с удаленного сервера, что может вызвать проблемы с задержкой или недоступностью. Если вы не знаете, что настроили кеш сообщений и как работает кеширование, вряд ли у вас там что-нибудь есть.

Совет дня: автоматизировать резервное копирование.