Czasami potrzebujemy wysyłać pocztę poprzez serwer Exchange bez autentykacji np. z różnych systemów powiadomień lub z drukarek.
Aby dopuścić taką możliwość uruchamiamy konfigurację naszego serwera ECP i przechodzimy do menu „przepływ poczty email -> łączniki receive” i wciskamy plus aby dodać nowy łącznik:
W polu nazwa podajemy nazwę naszego łącznika, w sekcji Rola powinno być zaznaczone „Transport po stronie użytkownika”, natomiast w sekcji typ zaznaczamy niestandardowy. Przechodzimy dalej
W kolejnym oknie ustalamy na jakich własnych adresach serwer ma nasłuchiwać oraz na jakim porcie. Domyślnie wpisany jest port 25 ale proponuję zmienić ten port na jakiś inny (na powyższym przykładzie jest 4925). Port 25 zostawimy na „normalną” komunikację serwera pocztowego. Ponadto na pewno jest już inny łącznik receive działający na tym porcie. Przechodzimy dalej
W domyślnej konfiguracji serwer na tym łączniku będzie przyjmował połączenia z dowolnych adresów. Ze względów bezpieczeństwa należy to zmienić aby nasz serwer nie stał się bramką do rozsyłania spamu. Usuwamy domyślny zakres i podajemy z jakich adresów będzie można się połączyć
Na powyższym przykładzie skorzystanie z tego łącznika będzie możliwe jedynie z adresów IP:
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
10.22.158.41
Zapisujemy zmiany. Następnie wchodzimy w edycję nowo utworzonego łącznika i przechodzimy na zakładkę „Zabezpieczeia”
Zaznaczamy tylko opcję „Użytkownicy anonimowi” i zatwierdzamy zmiany.
Takie ustawienia wystarczą aby nasz serwer umożliwiał wysyłanie poczty bez autentykacji ale tylko wewnątrz organizacji. W przypadku próby wysłania poczty na zewnątrz otrzymamy komunikat:
550 5.7.1 Unable to relay
Aby umożliwić wysyłanie poczty także poza swoją organizację należy na serwerze uruchomić „Exchange Management Shell” i wydać polecenie:
Dla systemu w polskiej wersji:
Get-ReceiveConnector 'serwer\nazwa naszego konektora'|Add-ADPermission -User 'ZARZĄDZANIE NT\LOGOWANIE ANONIMOWE' -ExtendedRights MS-Exch-SMTP-Accept-Any-Recipient
dla systemu w angielskiej wersji
Get-ReceiveConnector 'serwer\nazwa naszego konektora'|Add-ADPermission -User 'NT AUTHORITY\ANONYMOUS LOGON' -ExtendedRights “Ms-Exch-SMTP-Accept-Any-Recipient”
Dobrym rozwiązaniem jest także dopuszczenie na firewallu ruchu na port, który ustawiliśmy w naszym łączniku tylko z określonych adresów IP z których chcemy wysyłać pocztę bez autentykacji.
Aby przetestować nasze rozwiązanie uruchamiamy wiersz poleceń i wydajemy polecenie:
telnet adres_naszego_serwer port_ktory_ustawilismy_w_laczniku np.
telnet poczta.naszadomena.com 4925
serwer zwróci odpowiedź
220 serwer.domena.local Microsoft ESMTP MAIL Service ready at ….
wydajemy polecenie
helo komputer
następnie podajemy nadawcę
mail from:[email protected]
serwer powinien odpowiedzieć
250 2.1.0 Sender OK
w kolejnym kroku podajemy adres odbiorcy
rcpt to: [email protected]
Jeśli skonfigurowaliśmy wszystko poprawnie serwer zwróci informację
250 2.1.5 Recipient OK
W przypadku braku powyższych poleceń wykonanych z konsoli „Exchange Management Shell” serwer zwróciłby informację
550 5.7.1 Unable to Relay
Kolejnym krokiem jest wprowadzenie treści naszej wiadomości. Wydajemy polecenie
data
serwer zwróci informację
354 Start mail input; end with .
i możemy zacząć wpisywać naszą wiadomość:
Subject: temat naszej wiadomości Tresc naszej wiadomości
W pierwszej linii po słowie Subject: podajemy temat wiadomości, a poniżej treść wiadomości
Aby zakończyć wprowadzanie wiadomości wciskamy Enter następnie kropkę (.) i ponownie enter
serwer powinien zwrócić informacje o przekazaniu wiadomości do wysłania
Pracę z konsolą kończymy wydaniem polecenia
quit
Uwaga:
Należy pamiętam aby w konfiguracji wysyłania poczty podać port który ustawiliśmy w naszym łączniku receive