Мне нужно настроить SMTP-сервер в среде разработки, который будет принимать всю отправляемую ему почту (для любого домена) и просто хранить ее, чтобы мы могли позже увидеть, что он перехватил. Как проще всего это настроить? (Может быть любая ОС / установка, так как мы, скорее всего, сделаем это как новую виртуальную машину)
Что касается бонусных баллов, может ли он перехватывать и хранить всю почту, кроме почты на @ mydomain.com, которую он должен отправлять как обычно?
Devnull SMTP-сервер сохранит электронную почту в файлы. Это чистая java, поэтому нет никаких зависимостей вне JVM.
Вы можете осуществить это с помощью Exim. Преимущество чего-то вроде Devnull в том, что он будет работать как фоновый процесс «из коробки» и определенно может обрабатывать доставку электронной почты «@ mydomain.com» обычными средствами. Это простой SMTP-сервер с очень гибкой конфигурацией.
Мы используем Exim для архивирования входящей и исходящей электронной почты (в формате BSMTP) для нашего домена. Основной «рецепт», который мы используем, - это «маршрутизатор» для перехвата входящей почты и еще один для перехвата исходящей почты. Каждый маршрутизатор вызывает транспорт, который сохраняет в файл с отметкой даты (/ var / log / exim / archive - $ {substr {0} {8} {$ tod_zulu}}). Последняя строка маршрутизатора включает «невидимый», чтобы сообщение прошло через остальные маршрутизаторы в файле конфигурации (для выполнения «нормальной доставки»). Возможно, вам не понадобится эта «невидимая» функциональность.
я думаю документация для Exim первоклассный, и его довольно легко настроить, если вы усвоите эту метафору.