Мы используем mailhog в разработке / тестировании и подключаем его к postfix. Это так, что если вы отправляете письмо на адрес электронной почты, заканчивающийся на .external, он будет ретранслирован на настоящий сервер. И, если нет, мы передаем его mailhog.
Конфигурация постфикса /etc/postfix/main.cf:
myhostname = myserver.mydomain.tld
relayhost = real-smtp-relay.mydomain.tld
smtp_generic_maps = pcre:/etc/postfix/smtp_generic_maps.pcre
transport_maps = hash:/etc/postfix/transport
Карты smtp гарантируют, что внешняя часть удалена.
/(.*)\.external$/ $1
Транспортные карты решают, что внешние адреса будут ретранслироваться на настоящий SMTP-сервер, а остальные будут ретранслированы в mailhog.
.external :
* smtp:127.0.0.1:1025
Я хотел бы перенести эту настройку на OpenSMTPd, но не уверен, что это можно сделать. Я думаю, что важно то, что уловка PCRE отсутствует.
Или мне следует использовать другой подход?