Adam Automator
Protokół do przenoszenia tego e-maila wszędzie to SMTP, a „routery” SMTP to przekaźniki SMTP.
Konfigurowanie przekaźników SMTP różni się w zależności od systemu, ale jeśli masz Office 365 jako dostawcę usług pocztowych, Twoje możliwości są ograniczone. Konfiguracja może być skomplikowana i podatna na błędy, szczególnie w przypadku urządzeń, które nie obsługują protokołu TLS.
należy pamiętać, że wysyłanie wiadomości e-mail przez Office 365 nie wymaga przekaźnika SMTP. Klienci mogą wysyłać wiadomości e-mail bezpośrednio do Office 365 bez dodawania przekaźnika SMTP, który nie wymaga żadnych zmian konfiguracyjnych. Aby dowiedzieć się, czym one są, przeczytaj, jak wysłać wiadomość e-mail z przesłaniem klienta Office 365 Direct Send/SMTP (PowerShell).
spis treści
wymagania wstępne
są to wymagania, zanim będziesz mógł kontynuować.
- abonament Office 365. Jeśli jeszcze tego nie masz, możesz zarejestrować się w subskrypcji próbnej usługi Office 365 E5.
- komputer z systemem Windows 10 z PowerShell v5.1
- publiczny statyczny adres IP. Nadal możesz utworzyć przekaźnik SMTP w Office 365 nawet bez tego, ale możesz nie testować.
- port TCP 25 dostęp od klienta do punktu końcowego Office MX
- ważny certyfikat SSL. Certyfikat ten może być certyfikatem wieloznacznym (np. *.yourdomain.com) wydane przez zewnętrzne organy certyfikacyjne, takie jak LetsEncrypt, Digicert itp. Zauważ, że nie można używać certyfikatów z podpisem własnym ani certyfikatów wystawionych przez wewnętrzny PKI, ponieważ nie są one obsługiwane. (wymagane tylko dla połączeń TLS)
aby skonfigurować przekaźnik SMTP, musisz najpierw utworzyć złącze w usłudze Office 365, aby akceptować transakcje SMTP. To złącze będzie odbierać transakcje przekaźnikowe SMTP z aplikacji lub urządzenia.
zanim spróbujesz utworzyć łącznik, upewnij się, że Twoje konto ma odpowiednie uprawnienia Exchange Online. Upewnij się, że Twoje konto jest członkiem grupy zarządzania organizacją.
istnieją dwa sposoby tworzenia łącznika. Możesz użyć Exchange Admin Center lub PowerShell. Obie opcje wykonają to samo zadanie. To od Ciebie zależy, którego z nich użyć. W tym artykule omówimy oba. Zajmiemy się również tworzeniem złączy innych niż TLS i TLS.
Utwórz złącze inne niż TLS za pomocą Centrum administracyjnego Exchange
zacznijmy od utworzenia złącza innego niż TLS. Najpierw dowiesz się, jak to zrobić w centrum administracyjnym Exchange. Możesz skonfigurować wiele ustawień SMTP Office 365 w centrum administracyjnym Exchange.
po zalogowaniu kliknij na mail flow (1) –> connectors (2) –> New (3). Pojawi się nowe okno łącznika.
w oknie Nowe złącze wybierz: serwer poczty e-mail Twojej organizacji (1), Wybierz: Office 365 (2), kliknij Dalej (3).
w następnym oknie wprowadź nazwę Przekaźnik SMTP (Nie-TLS) lub wybierz swoją nazwę (1), wpisz opis Akceptuj przekaźnik z lokalnego serwera SMTP (2), odznacz zachowaj wewnętrzne nagłówki wiadomości e-mail Exchange (zalecane) (3) i kliknij Dalej (4).
w następnym oknie wybierz, sprawdzając, czy adres IP wysyłanego serwer dopasowuje jeden z tych adresów IP należących do twojej Organizacji (1) i kliknij Dodaj (2).
w nowym wyskakującym oknie wpisz swój publiczny adres IP (1), a następnie kliknij OK (2). To powinno wrócić do poprzedniego okna.
sprawdź, czy adres IP został dodany na liście (1), a następnie kliknij Dalej (2).
wtedy zobaczysz podsumowanie zmian, które musisz zaimplementować. Najpierw popracuj nad niezbędnymi zmianami. Jeśli ich nie ma, możesz śmiało kliknąć Zapisz.
w centrum administracyjnym Exchange możesz teraz potwierdzić, że nowy łącznik został utworzony.
powinieneś teraz utworzyć złącze inne niż TLS.
Utwórz Złącze TLS za pomocą Exchange Admin Center
Tworzenie złącza TLS jest podobne do tworzenia złącza innego niż TLS. Podobnie jak w przypadku utworzenia złącza innego niż TLS, wróć do Kreatora nowego Złącza i użyj tego samego scenariusza przepływu poczty. Będę używać nazwy złącza przekaźnika SMTP (Non-TLS), ale twoje mogą się różnić.
w oknie do zdefiniowania Office 365 powinien identyfikować adres e-mail z serwera poczty e-mail, wybierz:
- sprawdzając, czy nazwa tematu na certyfikacie, którego serwer wysyłający używa do uwierzytelniania za pomocą Office 365, pasuje do tej nazwy domeny (zalecane) (1)
- następnie wpisz temat certyfikatu SSL (2)
- i kliknij Dalej (3).
ponownie zobaczysz podsumowanie niezbędnych zmian. Pracuj nad nimi najpierw przed przetworzeniem. Jeśli ich nie ma, możesz od razu kliknąć przycisk Zapisz.
Utwórz złącze inne niż TLS za pomocą PowerShell
Jeśli tworzenie złączy Office 365 za pomocą GUI nie jest twoją rzeczą, zawsze możesz je również utworzyć za pomocą PowerShell. Aby to zrobić, najpierw upewnij się, że masz połączenie z programem Exchange Online PowerShell.
aby utworzyć złącze, musisz uruchomić polecenieNew-InboundConnector
. To polecenie wymaga kilku różnych parametrów, więc skonfiguruję te parametry z wyprzedzeniem za pomocą splatowania PowerShell.
dodałem kilka komentarzy w samym kodzie poniżej, ale oto podział każdego parametru i do czego służy:
- nazwa – jest to nazwa złącza.
- ConnectorType – jest to typ złącza. Ta wartość może być
OnPremises
lubPartner
. W tym scenariuszu odpowiednim typem jestOnPremises
. - SenderDomains – może to być Lista dozwolonych domen nadawców. Tylko zweryfikowane domeny dla Twojego najemcy są ważnymi wyborami. Gwiazdka (
*
) oznacza, że wszystkie zweryfikowane domeny mogą przekazywać wiadomości za pomocą tego złącza. Jeśli chcesz zezwolić tylko na niektóre domeny nadawców, zmień tę wartość na tablicę domen. (np.'domain1.com','domain2.com'
) - SenderIPAddresses-to jest Twój publiczny adres IP. Nie zapomnij zmienić tego przed wykonaniem.
- RestrictDomainsToIPAddresses – gdy ta wartość jest ustawiona na
$true
, oznacza to, że ten łącznik będzie akceptował tylko wiadomości e-mail z adresów nadawcy pochodzących z dozwolonego publicznego adresu IP.
$splat = @{ ## Define the name of the connector. Name = 'SMTP Relay' ## Defined the type of connector to create. ConnectorType = 'OnPremises' ## The set of sender domains allowed to relay. SenderDomains = '*' ## Change this to your actual public IP address. SenderIPAddresses = '110.x.x.x' ## Restrict the email relay only to your sender domains and sender IP address RestrictDomainsToIPAddresses = $true}## Create the connectorNew-InboundConnector @splat
Po uruchomieniu powinieneś zobaczyć coś podobnego do poniżej.
Utwórz Złącze TLS za pomocą PowerShell
zakładając, że jesteś podłączony, Uruchom poniższy kod, aby utworzyć złącze TLS z PowerShell. Poniżej widać, że wiele parametrów jest identycznych z tworzeniem złącza innego niż TLS. Wymagane parametry, które różnią się od utworzenia złącza innego niż TLS, to:
- RequireTLS – określa, że wszystkie wiadomości odbierane przez to złącze wymagają transmisji TLS
- TlsSenderCertificateName – jest to nazwa (lub temat) certyfikatu używanego przez nadawcę.
$splat = @{ ## Define the name of the connector. Name = 'SMTP Relay (TLS)' ## The type of connector to create. ConnectorType = 'OnPremises' ## The set of sender domains allowed to relay. SenderDomains = '*' ## Require TLS RequireTLS = $true ## Subject/Name of the SSL certificate TlsSenderCertificateName = '*.YourDomain.com'}## Create the connectorNew-InboundConnector @splat
wykonaj powyższy kod i stwórz złącze TLS gotowe do odbioru wiadomości e-mail.
testowanie Złącza przekaźnika SMTP Office 365 za pomocą PowerShell
Po utworzeniu złącza przygotuj się do przetestowania go. Najprostszym sposobem na to jest użycie PowerShell. W tej sekcji stworzymy kilka skryptów PowerShell, które pozwolą Ci łatwo upewnić się, że złącze działa poprawnie.
zanim zaczniesz testować, najpierw upewnij się, że wiesz, jaki jest adres URL punktu końcowego MX dla Twojej domeny Exchange Online. Jeśli nie wiesz, jak znaleźć adres URL punktu końcowego MX, Zaloguj się do portalu administratora Office 365. Kliknij Ustawienia, wybierz Domeny, kliknij nazwę domeny i skopiuj punkty MX do adresu lub wartości.
testowanie przekaźnika SMTP innego niż TLS (adres IP)
Uwaga: Testowanie należy przeprowadzić z komputera, którego publiczny adres IP jest dozwolony w konfiguracji przekaźnika SMTP Office 365.
użyj poniższego kodu PowerShell do testowania. Pamiętaj, aby zmienić wartości parametrówFrom
To
ISmtpServer
, aby przed uruchomieniem użyć własnych ustawień przekaźnika SMTP Office 365.
-
To
– musi zawierać jednego odbiorcę domeny wewnętrznej i jednego odbiorcę domeny zewnętrznej. Nie zapomnij zmienić tych wartości na własne. -
From
– należy zmienić adres nadawcy. Część domenowa adresu e-mail musi być jedną z domen e-mail dzierżawcy. -
SmtpServer
– należy zmienić na punkt końcowy MX najemcy Office 365.
$mailParams = @{ SmtpServer = '<tenant>.mail.protection.outlook.com' Port = '25' From = '' To = '','' Subject = ('SMTP Relay - ' + (Get-Date -Format g)) Body = 'This is a test email using SMTP Relay' DeliveryNotificationOption = 'OnFailure','OnSuccess'}Send-MailMessage @mailParams
testowanie przekaźnika SMTP TLS (certyfikatu)
Uwaga: Przed przystąpieniem do tego testu musisz mieć publiczny certyfikat SSL w formacie PFX.
ponieważ przekaźnik SMTP TLS wymaga certyfikatu, nie można użyć polecenia cmdlet PowerShellSend-MailMessage
, ponieważ nie pozwala on wybrać określonego certyfikatu. Zamiast tego użyj dwóch obiektów.NET o nazwie System.Net.Mail. SmtpClient do zdefiniowania parametrów SMTP, a System. Net.Mail.MailMessage do skomponowania wiadomości.
Poniżej znajdziesz fragment kodu PowerShell, którego możesz użyć do przetestowania przekaźnika SMTP TLS. Nie zapomnij zmienić pfxFile
pfxPass
From
To
I SmtpServer
wartości, aby użyć ustawienia przekaźnika SMTP Office 365 przed uruchomieniem.
# specify the full path of your PFX certificate$pfxFile = "C:\Certificate\cert.pfx"$pfxPass = '<cert password here>'$pfxBytes = Get-Content -path $pfxFile -encoding Byte -ErrorAction:SilentlyContinue$X509Cert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2$X509Cert.Import(]$pfxBytes, $pfxPass,"Exportable,PersistKeySet")# Build SMTP properties$smtpServer = '<tenant>.mail.protection.outlook.com'$smtpPort = '25'$smtp = New-Object Net.Mail.SmtpClient($smtpServer,$smtpPort)$smtp.ClientCertificates.Add($X509Cert)$smtp.EnableSSL = $true# Compose message$emailMessage = New-Object System.Net.Mail.MailMessage$emailMessage.From = ''$emailMessage.To.Add('')$emailMessage.To.Add('')$emailMessage.Subject = ('SMTP Relay (TLS) - ' + (Get-Date -Format g))$emailMessage.Body = 'This is a test email using SMTP Relay (TLS)'# Send the message$smtp.Send($emailMessage)
Jeśli konfiguracja złącza TLS jest poprawna, odbiorcy zdefiniowani za pomocą metodyAdd()
powinni otrzymać testową wiadomość e-mail.
sprawdzanie przeskoków przekaźników SMTP za pomocą nagłówka wiadomości
teraz masz funkcjonalny przekaźnik SMTP skonfigurowany przy użyciu lokalnego serwera i przekaźnika SMTP Office 365. Wszystkie testy zakończyły się sukcesem, a twoje urządzenia mogą wysyłać wiadomości zarówno do odbiorców wewnętrznych, jak i zewnętrznych. Dobra robota!
Jeśli nadal masz wątpliwości i musisz potwierdzić, czy te wiadomości przechodzą przez przekaźnik SMTP Office 365, możesz przejrzeć nagłówki wiadomości w otrzymanych wiadomościach e-mail.
Uwaga: otwieranie nagłówków wiadomości różni się w zależności od klienta poczty. Poniższy przykład dotyczy Gmaila.
otwórz wiadomość e-mail w interfejsie Gmaila, otwórz wiadomość i kliknij trzy pionowe kropki (1), a następnie kliknij Pokaż oryginał (2).
nowa strona pokaże wiadomość e-mail nagłówki. Kliknij Kopiuj do schowka (1).
Otwórz nową kartę przeglądarki i przejdź do https://testconnectivity.microsoft.com/.
przejdź do zakładki Message Analyzer (1), wklej skopiowane dane do pola (2) i kliknij Analyze headers (3).
wynik analizy zostanie wyświetlony w tabeli, jak pokazano poniżej.
powinieneś zobaczyć następujący przepływ pracy w wynikach powyżej:
- IP adres 192.168.0.3 wskazuje pochodzenie komputera.
- On-prem SMTP relay server otrzymał wiadomość.
- Exchange Online Protection (EOP) otrzymał wiadomość.
- serwer Exchange Online i przekierowany do dostawy wychodzącej otrzymał wiadomość.
- Biuro 365 do google.com dostarczyłem wiadomość.
na podstawie wyników analizy można potwierdzić, że wiadomość przeszła przez przekaźnik SMTP Office 365 zgodnie z przeznaczeniem.
podsumowanie
w tym artykule nauczyłeś się, jak utworzyć przekaźnik SMTP TLS i nie-TLS Office 365. Nauczyłeś się również, Jak testować i potwierdzać ich funkcjonalność przy użyciu różnych technik oraz jak zweryfikować trasy SMTP, przez które przeszła wiadomość.
Leave a Reply