Konfiguruję serwer testowy dla aplikacji internetowej, która wysyła niektóre powiadomienia e-mail.
Czasami testy przeprowadzane są na rzeczywistych danych klientów i dlatego muszę zagwarantować, że serwer nie będzie w stanie wysyłać wiadomości e-mail do naszych prawdziwych klientów podczas testów.
Chcę skonfigurować postfiks, aby pobierał wszystkie wychodzące wiadomości e-mail i przekierowywał je na jeden adres e-mail, zamiast dostarczać je do rzeczywistego miejsca docelowego.
Korzystam z serwera Ubuntu 9.10.
Z góry dziękuję
luser_relay = xxxxx
wmain.cf
. Bez tego e-maile odbijałyby się.sudo service postfix restart
. Lokalizacja wspomnianego powyżej pliku main.cf to/etc/postfix/main.cf
. Podczas pierwszej instalacji i konfiguracji Postfix możesz użyćLocal only
opcji instalacji.postmap hash:/etc/postfix/transport
isudo postfix stop
,sudo postfix start
Lepiej jest utworzyć wirtualny plik aliasu:
W /etc/postfix/main.cf:
W / etc / postfix / virtual:
Możesz zastąpić
root
dowolnego użytkownika, którego chcesz otrzymywać wszystkie wychodzące wiadomości e-mail. Ten wzór można dostosować, jeśli chcesz, aby poczta lokalna była dostarczana normalnie (bez przekierowań):Oryginalny pomysł znaleziony tutaj: Serwer programistyczny Postfix - przechwytuje wszystkie wiadomości wychodzące
źródło
sudo apt-get install postfix-pcre
wcześniej, aby uniknąć… niespodzianek.Postfix zapewnia coś o nazwie smtp-sink. Domyślnie blokuje wszystkie otrzymane wiadomości e-mail. Późniejsze wersje można również skonfigurować do przechwytywania wiadomości e-mail w plikach.
To technicznie nie korzysta z Postfix (ale narzędzie dostarczone przez Postfix.) Nie przekierowuje też technicznie każdego e-maila na jeden adres e-mail. Ale przechwytuje cały ruch na porcie 25 i zrzuca go do pliku, który można przeanalizować.
źródło