Roundcube — это бесплатный и открытый веб-клиент для работы с электронной почтой, разработанный на PHP. Он предоставляет широкий набор функций и работает прямо в браузере. В отличие от настольных почтовых программ, таких как Mozilla Thunderbird, с Roundcube вы можете управлять своей почтой через любой веб-браузер. В этом руководстве объясняется процесс установки веб-клиента Roundcube на Ubuntu 22.04/20.04 с использованием веб-сервера Apache или Nginx.
Содержание статьи
- 1 Характерные черты Roundcube
- 2 Требования
- 3 Загрузите Roundcube Webmail для Ubuntu 22.04/20.04.
- 4 Инсталлируйте расширения PHP.
- 5 Настройка виртуального хоста Apache или файла конфигурации Nginx для Roundcube.
- 6 Активизация HTTPS
- 7 Внесение локальной DNS-записи
- 8 Конфигурация Roundcube
- 9 Конфигурация фильтра сообщений Sieve
- 10 Удаление личных данных из заголовков писем электронной почты
- 11 Конфигурация плагина для управления паролями в Roundcube
- 12 Как организовать уведомления о вашем отсутствии или отпуске.
- 13 Увеличение предела размера файлов, которые можно загружать.
- 14 Конфигурация нескольких доменов электронной почты
- 15 Рекомендации по диагностике и решению проблем
- 16 Способы обновления Roundcube
- 17 Заключение
Характерные черты Roundcube
Возможности Roundcube включают:
- Справочник контактов
- Организация каталогов
- Поиск сообщений.
- Отбор сообщений
- Проверка орфографии
- Поддержка формата MIME
- Шифрование и подпись с использованием PGP
- Интеграция Mailvelope в систему.
- В Roundcube у пользователей есть возможность обновлять свои пароли.
- Импортирование писем в формате MIME или Mbox.
- Возврат электронной почты (Bounce)
- Поддержка кэширования с использованием Redis и Memcached.
- Поддержка протоколов SMTPUTF8 и GSSAPI.
- Адаптивный интерфейс под названием Elastic, который полностью совместим с мобильными устройствами.
- Поддержка OAuth2/XOauth (с использованием хуков плагина)
- Сформированные списки получателей и авторизованных отправителей.
- Полная совместимость с Unicode при использовании базы данных MySQL.
- Поддержка расширенного формата IMAP LITERAL-
Требования
Для реализации данного руководства предполагается, что
- На вашем сервере с Ubuntu 22.04 или 20.04 настроены SMTP-сервер Postfix и IMAP-сервер Dovecot.
- Вы уже настроили стек LAMP или LEMP на своем сервере с Ubuntu 22.04/20.04.
Если это не так, пожалуйста, перейдите по указанным выше ссылкам и выполните инструкции для подготовки. Имейте в виду, что если вы ранее настраивали почтовый сервер с использованием iRedMail, то ваш сервер соответствует всем необходимым требованиям, и Roundcube уже установлен.
Теперь давайте приступим к установке Roundcube.
Загрузите Roundcube Webmail для Ubuntu 22.04/20.04.
Подключитесь к своему серверу Ubuntu по SSH и выполните команду для скачивания последней стабильной версии 1.6 из репозитория Roundcube на GitHub.
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete. tar.gz
Обратите внимание: вы можете воспользоваться указанным выше форматом URL для загрузки Roundcube через командную строку. При выходе новой версии просто замените 1.6.0 на актуальный номер версии. Проверить наличие обновлений можно на странице загрузки Roundcube.
Извлеките содержимое архива и переместите вновь созданную папку в корневую директорию вашего веб-сервера (/var/www/), переименовав её при этом в roundcube.
tar xvf roundcubemail-1.6.0-complete. tar.gz выполните команду sudo mkdir - p /var/www/ и затем переместите roundcubemail с помощью sudo mv.1.6.0 /var/www/roundcube
Откройте каталог roundcube.
cd /var/www/roundcube
Назначьте пользователя веб-сервера (www-data) владельцем папок temp и logs, чтобы обеспечить возможность записи данных в эти директории.
sudo chown www-data:www-data temp/ logs/ - R
Инсталлируйте расширения PHP.
Для установки нужных расширений PHP выполните следующую команду. Полная поддержка PHP8.1 реализована в версии 1.6.
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php8.1-common php8.1-gd php8.1-imap php8.1-mysql php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-redis
СОЗДАТЬ БАЗУ ДАННЫХ roundcubemail С УМОЛЧАЕМЫМ КОДИРОВКОЙ utf8 COLLATE utf8_general_ci;
После этого создайте нового пользователя базы данных на локальном хосте, используя следующую команду. В данном руководстве мы будем называть его roundcube, но вы можете выбрать любое имя по своему усмотрению. Не забудьте заменить пароль на тот, который вам удобен.
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ roundcube@localhost ПОДТВЕРЖДЕННЫЙ ПОroundcube_password;
После этого предоставьте все необходимые разрешения новой базе данных новому пользователю, чтобы Roundcube webmail смог в дальнейшем осуществлять запись в эту базу данных.
ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА roundcubemailКонечно! Пожалуйста, предоставьте текст, который нужно перефразировать.roundcube@localhost;
Обновите таблицу привилегий, чтобы изменения начали действовать.
сбросить привилегии;
Закрытие сессии MariaDB:
выход;
Загрузите исходные таблицы в базу данных roundcube.
sudo mysql roundcube < /var/www/roundcube/SQL/mysql. initial. sql
Настройка виртуального хоста Apache или файла конфигурации Nginx для Roundcube.
Apache
Если вы работаете с веб-сервером Apache, настройте виртуальный хост для Roundcube.
sudo nano /etc/apache2/sites-available/roundcube.conf
Обратите внимание: если вы пользовались моим руководством по Postfix/Dovecot, виртуальный хост уже создан. Вам необходимо изменить следующий файл, предварительно удалив все его текущее содержимое.
sudo nano /etc/apache2/sites-available/mail.example.com.conf
Сохраните следующий текст в файл. Замените mail.example.com на ваше фактическое доменное имя и обязательно настройте DNS A-запись для него.
Лог ошибок: $/roundcube_error.log
Пользовательский лог: $/roundcube_access.log (с комбинированным форматом)
Сохраните файл и закройте его. После этого активируйте данный виртуальный хост с помощью:
sudo a2ensite roundcube.conf
Чтобы изменения начали действовать, выполните перезагрузку Apache.
sudo systemctl reload apache2
Теперь вам нужно перейти на http://mail.example.com/installer, чтобы увидеть установочный мастер Roundcube.
Nginx
При использовании веб-сервера Nginx необходимо настроить виртуальный хост для Roundcube.
sudo nano /etc/nginx/conf.d/roundcube.conf
Обратите внимание: если вы пользовались моим руководством по Postfix/Dovecot, виртуальный хост уже создан. Вам необходимо изменить следующий файл, предварительно удалив все его текущее содержимое.
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Сохраните следующий текст в файл. Измените доменное имя и обязательно добавьте DNS A-запись для него.
server < listen 80; listen [::]:80; server_name mail.example.comroot /var/www/roundcube/;
index index.php index. html index. htm;
error_log /var/log/nginx/roundcube. error;
access_log /var/log/nginx/roundcube. access;
location /< try_files $uri $uri/ /index.php; >location ~ \.php$ < try_files $uri =404; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; >location ~ /.well-known/acme-challenge < allow all; >location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ < deny all; >location ~ ^/(bin|SQL)/ < deny all; >Длительный период кэширования в браузере может ускорить повторные заходы на вашу страницу.~
< access_log off; log_not_found off; expires 360d; >>
Сохраните файл и закройте его. После этого проверьте настройки Nginx.
sudo nginx - t
Если тест завершился успешно, перезапустите Nginx, чтобы изменения начали действовать.
sudo systemctl reload nginx
Теперь вам следует перейти по адресу http://mail.example.com/installer, чтобы увидеть веб-установщик Roundcube.
Активизация HTTPS
Рекомендуется использовать TLS для защиты вашей веб-почты с помощью шифрования. Мы можем активировать HTTPS, установив бесплатный TLS сертификат от Let’s Encrypt. Для установки клиента Let’s Encrypt (certbot) на сервере с Ubuntu 22.04/20.04 выполните следующую команду.
sudo apt install certbot
Если вы применяете Nginx, необходимо дополнительно установить плагин Certbot, предназначенный для работы с Nginx.
sudo apt install python3-certbot-nginx
После этого введите следующую команду для получения и установки сертификата TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email Пожалуйста, предоставьте текст, который вы хотите, чтобы я перефразировал. - d mail.example.com
Если у вас установлен Apache, добавьте плагин Certbot для этой веб-серверной программы.
sudo apt install python3-certbot-apache
Выполните следующую команду для получения и установки сертификата TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email Пожалуйста, предоставьте текст, который вы хотите, чтобы я перефразировал. - d mail.example.com
- --nginx : Применяйте плагин nginx.
- --apache: Применяйте плагин Apache.
- --принимаю-условия : Подтвердите согласие с условиями предоставления услуг.
- Принудительный переход на защищённый HTTPS с использованием 301 редиректа.
- Добавьте заголовок Strict-Transport-Security к каждому ответу HTTP. Это заставляет браузер постоянно применять TLS для данного домена, обеспечивая защиту от атак, связанных с SSL/TLS Stripping.
- --staple-ocsp : Активирует функцию OCSP Stapling. К сертификату, который передается сервером во время TLS-соединения, присоединяется актуальный ответ OCSP.
Сертификат должен быть успешно получен и установлен автоматически.
Если вы следовали моему руководству по настройке Postfix/Dovecot и теперь добавляете Roundcube на тот же сервер, certbot, скорее всего, уведомит вас о наличии сертификата для mail.example.com, как показано ниже. В таком случае вы можете интегрировать уже существующий TLS-сертификат в конфигурацию веб-сервера.
Внесение локальной DNS-записи
Рекомендуется внести изменения в файл /etc/hosts на почтовом сервере, добавив следующую запись. Это позволит Roundcube избежать обращения к публичному DNS, что слегка повысит скорость загрузки страниц.
127.0.0.1 localhost mail.example.com
Конфигурация Roundcube
Зайдите в директорию настроек Roundcube.
cd /var/www/roundcube/config/
Сделайте копию файла конфигурации.
sudo cp config.inc.php. sample config.inc.php
Измените созданный файл.
sudo nano config.inc.php
Найдите строку, которая указывает Roundcube, как установить подключение к базе данных.
$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
Необходимо заменить
pass
на реальный пароль Roundcube. Если в пароле есть специальные символы, нужно применить кодирование процентов. К примеру, если пароль равен
mPcEIRxyJhCz8uiWIUopqWzaSTk=
, то строка будет следующей:
$config['db_dsnw'] = 'mysql://roundcube:mPcEIRxyJhCz8uiWIUopqWzaSTk%3D@localhost/roundcubemail';
Специальный символ = обозначается как %3D.
Затем откройте следующие две строки.
$config['imap_host'] = 'localhost:143'; $config['smtp_host'] = 'localhost:587';
З
Смените стандартный ключ на произвольные символы, как указано ниже.
$config['des_key'] = '58kptbzEcNKi/bc9OL90//3ATnQ=';
Затем найдите указанные строки.
// Список активных плагинов (в директории plugins/) $config['plugins'] = [ 'archive', 'zipdownload', ];
Включены только два плагина по умолчанию. Мы можем активировать дополнительные плагины, как указано ниже.
// Список активных плагинов (в директории plugins/) $config['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];
Теперь мы можем активировать встроенный проверщик орфографии, добавив следующую строку в конец этого файла.
$config['enable_spellcheck'] = true;
Сохраните изменения и завершите работу с файлом.
Зайдите на ваш домен Webmail и авторизуйтесь.

Интерфейс веб-почты Roundcube

Теперь необходимо удалить папку установщика из корневого каталога документа или убедиться, что в файле config.inc.php отключена опция enable_installer.
sudo rm /var/www/roundcube/installer/ - r
Эти файлы могут содержать конфиденциальную информацию о конфигурации, включая пароли серверов и ключи шифрования, которые могут стать доступными для широкой аудитории. Убедитесь, что страница установки недоступна из вашего браузера.
Конфигурация фильтра сообщений Sieve
В Roundcube webmail вы можете организовать папки и настроить правила для сортировки электронных писем в соответствующие директории. Для этого необходимо установить сервер ManageSieve с помощью следующей команды.
sudo apt install dovecot-sieve dovecot-managesieved
По умолчанию Postfix применяет встроенный локальный агент доставки (LDA) для переноса входящих писем в хранилище сообщений, включая папки «входящие», «отправленные», «корзина» и «спам». Мы можем настроить систему так, чтобы она использовала Dovecot для доставки писем через протокол LMTP, который представляет собой упрощённый вариант SMTP. LMTP обеспечивает создание высокомасштабируемой и надёжной почтовой системы, что особенно важно, если вы планируете использовать плагин Sieve для сортировки входящих сообщений по различным папкам.
Настройте сервер Dovecot с использованием LMTP.
sudo apt install dovecot-lmtpd
Измените главный файл настроек Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Включите lmtp и sieve в перечень поддерживаемых протоколов.
protocols = imap lmtp sieve
Сохраните файл и закройте его. После этого внесите изменения в файл Dovecot 10-master.conf.
sudo nano /etc/dovecot/conf.d/10-master.conf
Измените описание службы lmtp на следующее.
service lmtp unix_listener /var/spool/postfix/private/dovecot-lmtp group = postfix mode = 0600 user = postfix > >
Затем внесите изменения в главный файл конфигурации Postfix.
sudo nano /etc/postfix/main.cf
Вставьте указанные строки в конце файла. Первая строка информирует Postfix о необходимости отправки электронных писем в локальное хранилище сообщений через сервер dovecot LMTP. Вторая строка отключает поддержку SMTPUTF8 в Postfix, так как Dovecot-LMTP не работает с этим расширением электронной почты.
mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no
Сохраните изменения и закройте файл. Затем откройте файл /etc/dovecot/conf.d/15-lda.conf.
sudo nano /etc/dovecot/conf.d/15-lda.conf
Прокрутите файл до самого конца, снимите комментарий с строки mail_plugins и подключите плагин sieve к локальному агенту доставки (LDA).
протокол lda
Сохраните изменения и закройте файл. Если файл 20-lmtp.conf находится в директории /etc/dovecot/conf.d/, необходимо активировать плагин sieve в этом файле, как указано ниже.
протокол LMTP
Внесите изменения в файл /etc/dovecot/conf.d/10-mail.conf.
sudo nano /etc/dovecot/conf.d/10-mail.conf
Скрипты Sieve размещаются в домашней папке каждого пользователя. Если вы следовали моему руководству по PostfixAdmin и используете виртуальные домены для почтовых ящиков, необходимо активировать mail_home для виртуальных пользователей, добавив соответствующую строку в файл, так как у них по умолчанию отсутствуют домашние директории.
mail_home = /var/vmail/%d/%n
Сохраните изменения и завершите работу с файлом.
В завершение, выполните перезапуск Postfix и Dovecot.
sudo systemctl restart postfix dovecot
Теперь вы можете войти в Roundcube webmail, открыть письмо и нажать на кнопку "дополнительно", после чего выбрать "создать фильтры", чтобы установить правила для обработки сообщений. Например, я настраиваю фильтр, который перемещает все письма с домена redhat.com в папку Red Hat.

Если отсутствует возможность создания фильтра, возможно, плагин managesieve не был активирован. Необходимо внести изменения в файл config.inc.php.
sudo nano /var/www/roundcube/config/config.inc.php
В завершении файла вы найдете перечень активных плагинов. Добавьте в этот массив плагин managesieve. Порядок расположения плагинов не важен.
// ---------------------------------- // PLUGINS // ---------------------------------- // Список активных плагинов (в директории plugins/) $ config ['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'database_attachments', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', ' managesieve ', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];
Сохраните изменения и завершите работу с файлом.
Обратите внимание, что если вы переносите набор фильтров sieve со старого почтового сервера на новый, вам нужно перейти в Настройки ->Откройте раздел "Фильтры", затем выберите "Действия" и включите нужный набор фильтров, иначе сервер Dovecot LMTP не обработает фильтр sieve.
Удаление личных данных из заголовков писем электронной почты
По умолчанию Roundcube добавляет заголовок User-Agent в письмо, который сообщает, что используется веб-интерфейс Roundcube и отображает номер его версии. Можно настроить Postfix так, чтобы этот заголовок не отображался для получателя. Для этого выполните команду, создающую файл для проверки заголовков.
sudo nano /etc/postfix/smtp_header_checks
Вставьте следующие строки в файл.
/^User-Agent.*Roundcube Webmail/ IGNORE
Закройте и сохраните файл, после чего перейдите к редактированию основного конфигурационного файла Postfix.
sudo nano /etc/postfix/main.cf
Вставьте следующую строку в конец файла.
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
Закройте файл после сохранения, затем выполните команду для обновления хэш-таблицы.
sudo postmap /etc/postfix/smtp_header_checks
Перезапустите Postfix, чтобы изменения начали действовать.
sudo systemctl reload postfix
Теперь Postfix больше не добавляет заголовок User-Agent: Roundcube Webmail к исходящим сообщениям.
Конфигурация плагина для управления паролями в Roundcube
Roundcube содержит плагин для управления паролями, который дает пользователям возможность изменять свои пароли прямо через веб-интерфейс почты. Необходимо внести изменения в файл config.inc.php.
sudo nano /var/www/roundcube/config/config.inc.php
Убедитесь, что плагин для управления паролями присутствует в перечне плагинов в нижней части данного файла. Расположение плагинов не имеет значения.
$config['plugins'] = array('acl', 'additional_message_headers', 'password' , . );
Сохраните изменения и завершите работу с файлом.
Тем не менее, перед тем как плагин начнет функционировать, его необходимо настроить. Чтобы скопировать файл конфигурации плагина паролей в новый файл, выполните следующую команду.
sudo cp /var/www/roundcube/plugins/password/config.inc.php. dist /var/www/roundcube/plugins/password/config.inc.php
Измените файл настройки плагина для управления паролями.
sudo nano /var/www/roundcube/plugins/password/config.inc.php
Пожалуйста, найдите следующий ряд:
$config['password_db_dsn'] = '';
Данный параметр служит для указания плагину паролей местоположения, где хранятся пароли пользователей. Значение по умолчанию является пустым, что приводит к запросу к базе данных Roundcube, которая не сохраняет пароли пользователей. Если вы следовали моему руководству по PostfixAdmin, то пароли пользователей находятся в таблице postfixadmin. mailbox, поэтому необходимо изменить значение на:
$config['password_db_dsn'] = 'mysql://postfixadmin:postfixadmin_database_password@127.0.0.1/postfixadmin';
Плагин паролей уведомляет о необходимости подключения к базе данных postfixadmin. Если вы забыли пароль для вашей базы данных postfixadmin, его можно обнаружить в файле /etc/dovecot/dovecot-sql.conf.ext. Если пароль PostfixAdmin включает одинарную кавычку, используйте обратный слэш (' ), чтобы экранировать его.
После этого перейдите к следующей строке.
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
Поменяйте её на следующую.
$config['password_query'] = 'UPDATE mailbox SET password=%P, modified=NOW() WHERE username=%u';
Рекомендую добавить проверку надежности пароля, чтобы исключить возможность использования пользователями слабых паролей. В начале этого документа вы найдете следующую строку.
$config['password_strength_driver'] = null;
Мы можем применить драйвер для проверки прочности пароля zxcvbn, поэтому измените его на:
$config['password_strength_driver'] = 'zxcvbn';
Включите следующую строку в данный файл, чтобы разрешить использование только безопасных паролей.
$config['password_zxcvbn_min_score'] = 5;
Обратите внимание: параметр $config['password_minimum_score'] не функционирует с драйвером zxcvbn, поэтому его следует оставить без изменений.
Вы можете также задать минимальную длину пароля. Найдите следующую строку.
$config['password_minimum_length'] = 0;
$config['password_minimum_length'] = 8;
Имейте в виду, что в учебном пособии по PostfixAdmin мы применяли схему паролей ARGON2I, поэтому необходимо настроить плагин паролей для работы с ARGON2I. Найдите в файле следующие строки.
$config['password_algorithm'] = 'clear';
Пароль будет сохраняться в открытом формате по умолчанию. Измените настройку на следующее значение, чтобы активировать встроенный алгоритм паролей Dovecot.
$config['password_algorithm'] = 'dovecot';
Далее необходимо обнаружить следующую строку, указывающую на расположение генератора хешей паролей Dovecot.
$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // для dovecot-1.x
Конечно! Просто предоставьте текст, который нужно перефразировать.
$config['password_dovecotpw'] = '/usr/bin/doveadm pw - r 5';
Затем найдите следующую строку, в которой указана схема пароля, которая будет применена.
$config['password_dovecotpw_method'] = 'CRAM-MD5';
$config['password_dovecotpw_method'] = 'ARGON2I';
Найдите следующую последовательность.
$config['password_dovecotpw_with_method'] = false;
Замените значение false на true. Это позволит добавить префикс к зашифрованному паролю, что поможет вам определить, какая схема пароля применяется.
$config['password_dovecotpw_with_method'] = true;
Закройте и сохраните файл. Поскольку он содержит пароль от базы данных, доступ к нему для чтения и записи следует предоставить только пользователю www-data.
sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.php sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php
Теперь пользователи должны иметь возможность менять свои пароли через интерфейс веб-почты Roundcube.

Как организовать уведомления о вашем отсутствии или отпуске.
Мы можем использовать фильтр sieve для создания сообщений об отпуске/не на месте. Перейдите в Roundcube Настройки ->Выберите фильтры и нажмите кнопку для их создания.
- Назовите этот фильтр, к примеру, "неуместный".
- Фильтры остаются включенными, поэтому кнопку можно не менять.
- В разделе "Область" отметьте все сообщения.
- В настройках действий выберите опцию "Ответить с сообщением" и введите текст, который будет отправляться автоматически.
- Введите 1 в поле, чтобы автоответчик отправлял сообщение всего один раз в день от каждого отправителя. Если вы установите значение на 7, автоответчик будет срабатывать раз в 7 дней для каждого отправителя.
- Оставьте остальные текстовые поля незаполненными.
- Нажмите на кнопку "Сохранить", и вы завершите процесс.

Когда вы вернётесь в офис, можете активировать переключатель "Фильтр отключен" и нажать на кнопку "Сохранить", чтобы отключить данный фильтр.
Увеличение предела размера файлов, которые можно загружать.
При использовании PHP-FPM для выполнения PHP-скриптов файлы, включая изображения и PDF-документы, загружаемые в Roundcube, не должны превышать 2 МБ. Чтобы повысить лимит на размер загружаемых файлов, необходимо изменить настройки в файле конфигурации PHP.
sudo nano /etc/php/8.1/fpm/php. ini
Отыщите следующую строку (строка 846).
upload_max_filesize = 2M
Измените значение в соответствии с указанными ниже требованиями. Убедитесь, что оно не превышает ограничение на размер вложений, установленное сервером Postfix SMTP.
upload_max_filesize = 50M
После этого перейдите к следующей строке (строка 694).
post_max_size = 8M
Установите предельный объем POST-данных, который может быть принят PHP.
post_max_size = 50M
Сохраните файл и завершите его редактирование. Также вы можете воспользоваться следующими двумя командами, чтобы внести изменения без необходимости открывать файл вручную.
sudo sed - i 's/upload_max_filesize = 2M/upload_max_filesize = 50MВыполните команду для изменения параметра в файле конфигурации:bashCopy codesudo sed - i 's/post_max_size = 8M/post_max_size =
/g' /etc/php/8.1/fpm/php. ini
Эта команда заменяет значение post_max_size с 8M на заданное вами значение
.50M/g' /etc/php/8.1/fpm/php. ini
После этого перезапустите PHP-FPM.
sudo systemctl restart php8.1-fpm
Nginx ограничивает размер загружаемых файлов, и по умолчанию этот лимит составляет 1 МБ. Чтобы изменить это ограничение, необходимо внести корректировки в конфигурационный файл Nginx.
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Включите следующую строку в конфигурацию виртуального SSL-хоста.
client_max_body_size 50M;
Сохраните изменения и закройте файл, после чего перезапустите Nginx для применения настроек.
sudo systemctl reload nginx
В Roundcube представлены три плагина, предназначенные для работы с вложениями и загрузкой файлов:
- database_attachments
- filesystem_attachments
- redundant_attachments
Roundcube поддерживает лишь один плагин для обработки вложений и загрузки файлов. Я выяснил, что использование плагина database_attachment может привести к ошибкам и вызвать трудности. Чтобы его отключить, необходимо внести изменения в конфигурационный файл Roundcube.
sudo nano /var/www/roundcube/config/config.inc.php
Прокрутите файл до самого конца, где находится перечень активных плагинов. Найдите и удалите из него 'database_attachments'. Учтите, что для работы с вложениями необходимо включить хотя бы один альтернативный плагин, например, 'filesystem_attachments'.
// ---------------------------------- // ПЛАГИНЫ // ---------------------------------- // Список активных плагинов (в каталоге plugins/) $ config ['plugins'] = ['acl', 'additional_message_headers', 'archive', 'attachment_reminder', 'autologon', 'debug_logger', 'emoticons', 'enigma', 'filesystem_attachments', 'help', 'hide_blockquote', 'http_authentication', 'identicon', 'identity_select', 'jqueryui', 'krb_authentication', 'managesieve', 'markasjunk', 'new_user_dialog', 'new_user_identity', 'newmail_notifier', 'password', 'reconnect', 'redundant_attachments', 'show_additional_headers', 'squirrelmail_usercopy', 'subscriptions_option', 'userinfo', 'vcard_attachments', 'virtuser_file', 'virtuser_query', 'zipdownload'];
Сохраните изменения и завершите работу с файлом.
Конфигурация нескольких доменов электронной почты
Для того чтобы настроить несколько почтовых доменов, ознакомьтесь с данной статьей:
- Как настроить несколько почтовых доменов в PostfixAdmin на Ubuntu
Рекомендации по диагностике и решению проблем
Если у вас возникли проблемы, вы можете просмотреть журналы ошибок веб-сервера, находящиеся по адресу /var/log/apache2/roundcube_error.log (если используется Apache) или /var/.
Если при попытке войти в RoundCube вы сталкиваетесь с ошибкой «Не удалось подключиться к серверу хранения», это, скорее всего, связано с тем, что
- Сервер Dovecot не активен. Вы можете перезапустить его, выполнив команду
sudo systemctl restart dovecot, а затем проверить его статус с помощью
systemctl status dovecot.
- У вас установлен самоподписанный TLS-сертификат. Для корректной работы Roundcube необходим действующий TLS-сертификат, выданный авторитетным центром сертификации, например, Let's Encrypt.
- Ваш TLS-сертификат устарел. Чтобы обновить TLS-сертификат Let's Encrypt, выполните команду sudo certbot renew, а затем перезапустите службы Postfix и Dovecot с помощью команды sudo systemctl restart postfix dovecot.
Вы можете также попробовать внести пользовательскую DNS-запись в файл /etc/hosts, как указано в шаге 8 на сервере Roundcube, чтобы Roundcube смог корректно определить имя хоста почтового сервера.
Не удалось получить сообщение с сервера.
Если вы столкнулись с ошибкой «Внутренняя ошибка: не удалось загрузить сообщение с сервера», это, скорее всего, связано с тем, что вы пытаетесь открыть удаленное электронное письмо (недействительный URL). Попробуйте зайти на основной домен вашей почты (mail.example.com), чтобы убедиться, что он функционирует.
Фильтр сообщений Sieve не функционирует?
Если вы выполнили шаг 8 для конфигурации фильтра sieve, но он продолжает не функционировать, попробуйте активировать режим отладки в Dovecot, чтобы определить источник проблемы.
sudo nano /etc/dovecot/dovecot.conf
Вставьте эту строку в конец файла для активации отладки в Dovecot.
mail_debug=yes
Сохраните файл и закройте его. После этого перезапустите Dovecot.
sudo systemctl restart dovecot
После этого отправьте тестовое сообщение на адрес электронной почты вашего домена и просмотрите журнал почтовых сообщений.
sudo nano /var/log/mail.log
Информацию по отладке фильтра сообщений Sieve можно найти. Например, я заметил, что Dovecot не сумел выполнить мой скрипт Sieve.
Jan 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linux16.ru/xiao/.dovecot. svbin'
Я обнаружил, что в моем фильтре Sieve оказалось слишком много правил, и некоторые из них были в противоречии друг с другом. Убрав эти конфликтующие правила, я смог восстановить его работу.
Ошибка поиска во временном режиме (Код: 451)
Если при попытке отправить электронное письмо через Roundcube у вас возникла эта ошибка, возможно, проблема кроется в настройках вашего Postfix. К примеру, некоторые пользователи могут обнаружить подобное сообщение об ошибке в журнале /var/log/mail.log.
warning: connect to pgsql server localhost: connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "postfixadmin"?connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: password authentication failed for user "postfixadmin"?
Это указывает на то, что процесс проверки пароля для базы данных Postfixadmin не функционирует.
Способы обновления Roundcube
Обновить до Roundcube 1.5.3 после его выхода очень легко. Вот как это сделать.
Скачайте актуальную версию Roundcube в свою домашнюю папку.
cd ~Загрузите файл, используя команду wget по следующему адресу: https://github.com/roundcube/roundcubemail/releases/download/1.5.3/roundcubemail-1.5.3-complete. tar.gz
Распакуйте архив.
tar xvf roundcubemail-1.5.3-complete. tar.gz
Измените владельца на www-data.
sudo chown www-data:www-data roundcubemail-1.5.3/ - R
После этого запустите установочный скрипт.
sudo roundcubemail-1.5.3/bin/installto. sh /var/www/roundcube/
Когда все будет завершено, зайдите в веб-почту Roundcube и нажмите на кнопку "О программе", чтобы узнать текущую версию Roundcube.

