Articles

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ć.

  1. abonament Office 365. Jeśli jeszcze tego nie masz, możesz zarejestrować się w subskrypcji próbnej usługi Office 365 E5.
  2. komputer z systemem Windows 10 z PowerShell v5.1
  3. publiczny statyczny adres IP. Nadal możesz utworzyć przekaźnik SMTP w Office 365 nawet bez tego, ale możesz nie testować.
  4. port TCP 25 dostęp od klienta do punktu końcowego Office MX
  5. 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.

Nowe złącze
Nowe złącze

w oknie Nowe złącze wybierz: serwer poczty e-mail Twojej organizacji (1), Wybierz: Office 365 (2), kliknij Dalej (3).

wybór scenariusza przepływu poczty
wybór scenariusza przepływu poczty

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).

przypisanie nazwy do złącza
przypisanie nazwy do złącza

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).

dodawanie dozwolonych adresów IP do złącza
dodawanie dozwolonych adresów IP do złącza

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.

dodawanie dozwolonych adresów IP do złącza
dodawanie dozwolonych adresów IP do złącza

sprawdź, czy adres IP został dodany na liście (1), a następnie kliknij Dalej (2).

dodawanie dozwolonych adresów IP do złącza
dodawanie dozwolonych adresów IP do złącza

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.

Złącze Office 365 zostało utworzone
Złącze Office 365 zostało utworzone

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).
Utwórz Złącze TLS za pomocą Exchange Admin Center
Utwórz Złącze TLS za pomocą Exchange Admin Center

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 lub Partner. 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.

New-InboundConnector
New-InboundConnector

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ówFromTo 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ć pfxFilepfxPassFromTo 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).

sprawdzanie przeskoków przekaźnika SMTP za pomocą nagłówka wiadomości
sprawdzanie przeskoków przekaźnika SMTP za pomocą nagłówka wiadomości

nowa strona pokaże wiadomość e-mail nagłówki. Kliknij Kopiuj do schowka (1).

sprawdzanie przeskoków przekaźnika SMTP za pomocą nagłówka wiadomości
sprawdzanie przeskoków przekaźnika SMTP za pomocą nagłówka wiadomości

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).

Analiza nagłówków
Analiza nagłówków

wynik analizy zostanie wyświetlony w tabeli, jak pokazano poniżej.

Analiza wyników
Analiza wyników

powinieneś zobaczyć następujący przepływ pracy w wynikach powyżej:

  1. IP adres 192.168.0.3 wskazuje pochodzenie komputera.
  2. On-prem SMTP relay server otrzymał wiadomość.
  3. Exchange Online Protection (EOP) otrzymał wiadomość.
  4. serwer Exchange Online i przekierowany do dostawy wychodzącej otrzymał wiadomość.
  5. 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ść.

Czytaj dalej