На полностью работающем почтовом сервере (в данном случае с iRedmail) с RoundCube для веб-почты и Dovecot / Postfix и т. Д. Как можно отключить внешние клиентские подключения к IMAP / SMTP / POP3 и сделать сервер веб-почты только для электронной почты? Я считаю, что Roundcube напрямую подключается к Dovecot для аутентификации пользователя при входе в систему, поэтому это усложняет задачу.
Я попытался обновить запрос Dovecot SQL в /etc/dovecot/dovecot-mysql.conf, чтобы отклонить все запросы IMAP, если удаленный IP-адрес не является сервером, на котором размещается веб-почта Roundcube (например, 127.0.0.1): Пример запроса SQL:
# Original SQL query in dovecot-mysql.conf:
#user_query = SELECT ... FROM mailbox,domain WHERE ...
# Modified:
user_query = SELECT ... FROM mailbox,domain WHERE ... AND '%r' = '127.0.0.1'
Но это заблокировало доступ всех пользователей к RoundCube. Удаление его (и перезапуск службы dovecot) немедленно позволило снова войти в систему. Есть другой способ?
Работает ли ставить listen = 127.0.0.1
в /etc/dovecot/dovecot.conf?
Кроме того, в roundcube.conf убедитесь, что у вас есть
$rcmail_config['default_host'] = '127.0.0.1';
вместо того, чтобы указывать на имя хоста, которое может разрешить другой IP-адрес и, таким образом, быть отклонено.