Когда мы разрабатываем системы и сайты, практически всегда в них закладывается функционал отправки email-уведомлений. Конечно же, надо как-то проверять, как отправляются письма в тех или иных случаях. Можно это делать разными способами: вместо отправки письма на машине разработчика сохранять файл с текстом данного письма, отправлять реальные письма на свой адрес, или использовать эмулятор smtp-сервера на локальной машине.
Я рекомендую использовать именно эмулятор smtp-сервера, так как это и универсально, и не приходится писать каких-то дополнительных заглушек. В повседневной работе я использую два таких эмулятора, которые опишу ниже. Два — потому что у них есть некоторые отличия, которые делают каждый из них по-своему уникальным.
Test Mail Server Tool
http://www.toolheap.com/test-mail-server-tool/
Данный продукт я использую как основной вариант, запуская его в качестве службы Windows (с помощью отдельной программы Winserv). Он практически не имеет настроек, однако, его отличает то, что можно настроить папку для сохранения всех отправленных писем.
smtp4dev
Иногда бывает так, что некоторые сервисы, которые надо протестировать, не могут отправить email на Test Mail Server Tool (например, Redmine). Тогда на помощь приходит другое средство: smtp4dev. Данная программа имеет гораздо больше настроек, но, к сожалению, не может сохранять email в папку. Она их как бы собирает в своем окне, то есть посмотреть письма можно только во время работы программы.
Для использования обеих рассматриваемых программ достаточно в настройках тестируемого сервиса (Joomla, Redmine или самописный сайт) прописать в качестве хоста 127.0.0.1, порт - 25. Внешне для нашего сайта все будет выглядеть так, будто мы отправляем реальные email.