В Интернетах много разных очень крутых сервисов, которые позволяют сделать свой почтовый сервис с собственными адресами. Однако, захотелось приключений и появилась тяга к созданию чего-нибудь своего. Зачем что-то делать просто, если можно причудливо? Предпосылки, что и зачем описал тут: статья Захотелось сделать собственный почтовый сервис, чтобы письма отправлял/получал, рассылки делал и интегрировался с другими сервисами (чтобы клубная платформа Vas3k могла отправлять письма). Плюс имел бы веб-интерфейс для администрирования. В GitHub создал проект, с помощью которого можно создать собственный почтовый сервис за 10 минут, используя Docker. Посмотреть все исходники можно тут: MyDockerMailserver Что же оно умеет: Поддержка POP3, IMAP, SMTP с авторизацией. А еще могут быть ящики, которые только отправляют письма, но не умеют получать. TLS enforced: использование SSL-сертификатов. Как самоподписанных (self-signed, так и кастомных). Веб-интерфейс для доступа в почту (Roundcube). Возможность задания правил фильтрации почты через веб-интерфейс (RSPAMD). Защита от спама и вирусов в почтовых сообщениях :) Спам-фильтр сам тренируется при переносе сообщений в спам! А еще есть Real Time Black Hole Lists (RBL) для блокировки известных спамеров. Поддержка универсальных почтовых адресов (Aliasing). Поддержка квот на почтовые ящики пользователей. С уведомлениями о превышении. Поддержка DKIM подписи. Веб-интерфейс для администрирования всего этого добра. Поддержка отправки почты через RELAY HOST. и т. д. Итак, если вы хотите создать свой почтовый сервис, но не обладаете достаточными знаниями в администрировании различных систем, то дальнейшая информация будет крайне полезна. Необходимые средства для развертывания почтового сервиса: Сервер с Ubuntu и установленным Docker. Например, можно развернуть в Yandex.cloud, AWS, Azure, Digital Ocean. Доменное имя. (далее, для примера, будет использоваться несуществующее доменное имя domain.my). Wildcard SSL-сертификат для домена, либо выделенные сертификаты для sub-домена. В статье предполагается, что почтовый сервис будет доступен по адресу https://mail.domain.my. При этом, на основном адресе будет развернут основной веб-сайт. Автор использует обратный прокси jwilder/nginx-proxy для маршрутизации запросов туды-сюды по тому или иному адресу. Почтовый сервер должен отправлять почту. А это позволено лишь не всем. По умолчанию, свой почтовый сервер не сможет отправлять сообщения популярным почтовым серверам. Чтобы обойти это недоразумение есть разные способы (наверное). Простой способ - это использовать Relay сервис по отправке сообщений. Автор остановился на сервисе SendInBlue, который на момент написания этих строк по бесплатному тарифу предлагает отправку 300 сообщений в день.  https://www.sendinblue.com Настройка SendInBlue не должно быть какой-то проблемой. Важно это сделать для вашего домена. В итоге, на странице https://account.sendinblue.com/advanced/api будут доступным необходимые данные для настройки RelayHost. Вот тута, в целом, написано неплохо: как настраивать SendInBlue. Подключаемся на сервер через SSH любым удобным доступным способом. На сервере нужен какой-нибудь редактор текстовых файликов. Т.к. автор не смог выйти из VIM, то он использует Nano. На сервере переходим в необходимую директорию    Клонируем репозитарий в директорию (которую создали, но предыдущий шаг - необязателен). Переходим в директорию, куда клонирован репозитарий  Копируем файл .env.dist в .env и открываем его    Редактируем файл .env Если будем использовать RelayHost, то обязательно указываем соответствующие поля. Иначе, оставляем пустым. В целом, название переменных говорят сами за себя.  Настраиваем использование своих SSL сертификатов  Переходим в директорию certs: cd certs  Создаем файлы сертификатов. Например, путем копирования их содержимого   Примечание: я сделал путем копирования содержимого файлов сертификатов, т.е. через Ctrl-C -> Ctrl-V. Название файлов с сертификатами может быть произвольным.  Конфигурируем файлы docker-compose.*    Открываем на редактирование файл docker-compose.yml  Редактируем docker-compose.yml Добавляем свои сертификаты (для сервисов mda и mta) Добавляем возможность интеграции с обратным прокси (jwilder/nginx-proxy) Удаляем или комментируем "лишний" volume, т.к. используем "свои" сертификаты На данном шаге требуется сделать последние шаги перед запуском почтового сервиса. Сконфигурировать production параметры. Редактируем параметры docker-compose.production.yml  Комментируем раздел для сервиса web, т.к. используем обратный прокси Объединяем все почтовые сервисы в единую сеть Конфигурирование сделано. Настало время запустить почтовый сервис и убедиться, что все работает. Запускаем сервисы и дожидаемся выполнения каждой команды без ошибок. Проверяем, что сервисы запущены и инициализированы. Выполняем команду docker ps. В результате, что-то должно быть похоже на:  На этом шаге требуется создать первого пользователя администратора   Выполняем команду ниже, а потом отвечаем на простые вопросы, следуя инструкции. В результате выполнения всех шагов выше все сервисы должны заработать в PROD. Админка (при обращении к mail.domain.my -> потом авторизация администратора). Веб-интерфейс почтового клиента (mail.domain.my/webmail) Настройка спам-фильтра (mail.domain.my/rspadm). Пароль для доступа указывали в параметре  CONTROLLER_PASSWORD. Вот так, с помощью нехитрых приобщений можно превратить буханку черного (или белого) хлеба в троллейбус построить свой почтовый сервер буквально за 5-10 минут, имея манипулятор типа мышь и клавиатуру. Считается, что если начать утро с прочтения данной статьи, то день сложится удачно и без хитростей. В доме будет царить благополучие и любовь! Если остались вопросы, прошу в комменты.  Project Manager