Skonfigurowałem serwer Postfix z SMTP AUTH (STARTTLS na porcie 587). Wszyscy moi użytkownicy są w domenie „example.org”. Chcę wymusić, aby adres nadawcy był „[email protected]”.
Dowiedziałem się, że można to osiągnąć za pomocą opcji main.cf
smtpd_sender_restrictions = reject_sender_login_mismatch, ...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps
z plikiem login_maps, takim jak:
[email protected] a
[email protected] b
[email protected] c
...
(patrz także Blokowanie fałszowania adresów nadawców za pomocą SMPT AUTH ), ale oznaczałoby to, że będę musiał edytować plik login_maps za każdym razem, gdy mam nowego użytkownika. Nie potrzebuję tak elastycznego mapowania: zawsze powinien to być „[email protected]”. Czy jest łatwiejsza opcja?
sudo apt-get install postfix-pcre
. Może dla większości było to oczywiste.$myhostname
zmiennej referencyjnej ?. Tutaj możesz zobaczyć, że Postfix jest w stanie przeszukiwać tabelę wyszukiwania według części użytkownika wiadomości e-mail ...Wyrażenie regularne wspomniane w drugiej odpowiedzi odpowiada części użytkownika adresu e-mail ( zalogowany użytkownik @ example.org). Oto kilka dodatkowych informacji.
Aby użyć pełnego adresu e-mail jako nazwy użytkownika, użyj następującego wyrażenia regularnego (na przykład w
/etc/postfix/login_map
):Oznacza to, że twoja nazwa użytkownika jest zawsze pełnym adresem e-mail ( [email protected] ) - żadna inna istniejąca nazwa użytkownika nie może wysyłać z tego adresu - i nie musisz aktualizować dodatkowego pliku konfiguracyjnego Postfix za każdym razem, gdy dodaj użytkownika.
Może to być użyte na serwerze, na którym skonfigurowano wiele domen. Użytkownik [email protected] może wysyłać tylko z tego adresu, ale nie z [email protected] (inny użytkownik i adres e-mail, inna osoba). W takim przypadku nazwa użytkownika jan.doe byłaby niejednoznaczna.
Ponadto, w zależności od konfiguracji, ustawienie smtpd_sender_login_maps, które musi wskazywać na ten plik, może znajdować się w pliku master.cf (zamiast main.cf). Oficjalna dokumentacja Dovecot zawiera następujący przykład (jeśli używasz SASL / submission):
W tym przykładzie ustawienie należy wyregulować tak, aby wskazywało właściwy plik i używać jako typu wyrażenia regularnego lub (lepiej) pcre. Zwłaszcza jeśli plik o nazwie „wirtualny” jest już używany w innym celu (na przykład dla virtual_alias_maps, jak pokazano w oficjalnym przykładzie Postfix ), do mapowania logowania należy użyć innego pliku.
Od:
Do:
źródło
Czy możesz użyć kombinacji wyrażenia regularnego w nagłówku, jak pokazano tutaj: http://www.akadia.com/services/postfix_uce.html ? Następnie możesz połączyć się z wyrażeniem regularnym, takim jak [*@example.org], aby zapewnić tylko nadawcę z example.org.
źródło