Прежде чем поднять свой почтовый сервер, необходимо соблюсти ряд условий:
1. Провайдер должен разрешить держать сервера, домашние провайдеры как правило добавляют IP в список запрещённых для сервера электронной почты.
2. Должна быть обратная запись PTR
3. Полноценный домен (никаких No-IP), взятый у нормального регистратора. Желательно иметь свой DNS-сервер, но если регистратор предоставляет полноценную панель управления доменом, то можно и не поднимать NS-сервер.
4. Настроенные SPF, DKIM и DMARC (невозможно без 3 пункта).
5. Обязателен прямой белый IPv4 адрес, желателен IPv6.
6. Firewall и надёжная защита сети
Если вы готовы соответствовать требованиям, то есть 2 пути:
1. Windows: Microsoft Exchange и все его особенности
2. Linux, FreeBSD, MacOS, Solaris и прочие Unix like: Стандартная схема Postfix+Dovecot. В качестве антивируса ClamAV, для борьбы со спамом - SpamAssasin. В качестве веб-морды можно использовать Roundcube или SOGo. Если есть домен ActiveDirectory, то авторизовываться можно через него. Если домена нет, то пользователей желательно хранить в базе данных, используя СУБД типа: MySQL и PostgreSQL.
У меня почтовый сервер развёрнут в виртуалке на личном ПК, я не соответствую требовавниям, поэтому для отправки писем использую "Яндекс.Почта для домена" в качестве SMTP-Relay (Smarthost). Входящие письма приходят напрямую.