Гораздо более эффективным является ограничение подключений из космоса для тех, кто прошел аутентификацию.
Если удаленный клиент знает действительный адрес электронной почты / пароль и может устанавливать сеансы TLS на серверах SMTP / IMAP - почему бы нет? В качестве побочного эффекта ваши пользователи могут использовать собственные MUA, встроенные в IOS / Android.
Просто настройте dovecot на прослушивание 127.0.0.1 только тех сервисов, которые вы не хотите открывать извне, вы можете указать это в dovecot.conf.
imap_listen = localhost
imaps_listen = localhost
То же самое и для pop3
pop3_listen = localhost
pop3s_listen = localhost
Что ж, вы можете использовать брандмауэр, чтобы гарантировать, что подключения к службам imap и pop3 не могут быть выполнены извне. Если ваша установка dovecot находится на другом сервере, то опять же, правила вашего брандмауэра могут быть настроены так, чтобы разрешать соединения только с этой системой.
Что касается SMTP, вы не можете просто заблокировать это, как вы говорите. Однако вы можете убедиться, что он принимает соединения только с / от отдельного интеллектуального хоста, который просто действует как почтовый ретранслятор, но это тоже не железо. Я думаю, если вы хотите, чтобы в Интернете был доступен какой-либо сервер, вы должны признать, что рано или поздно люди найдут способ подключиться к нему так, как вы не ожидали, и вместо того, чтобы идти фанатичным для предотвращения невозможного я бы просто делать то, что было разумно в связи с этим, а затем провести оставшуюся часть своей энергии на обеспечение системы была надежно конфигурирование и управление.