Articles

Adam az Automator

utálom, vagy szeretem; e-mail mindenhol. Az e-mailek mindenhol történő áthelyezésének protokollja az SMTP, az SMTP “útválasztók” pedig az SMTP relék.

az SMTP-relék beállítása rendszerenként eltérő, de ha az Office 365 e-mail szolgáltatóként működik, az Ön lehetőségei korlátozottak. A Beállítás bonyolult és hibára hajlamos lehet, különösen olyan eszközök esetében, amelyek nem képesek TLS-re.

vegye figyelembe, hogy az e-mail küldése az Office 365-en keresztül nem igényel SMTP relét. Az ügyfelek e-maileket küldhetnek közvetlenül az Office 365-nek anélkül, hogy hozzáadnának egy SMTP relét, amely nem igényel konfigurációs változtatásokat. Ahhoz, hogy megtudja, mi ezek, olvassa el, hogyan kell küldeni Office 365 Direct Send/SMTP kliens benyújtása e-mail (PowerShell).

Tartalomjegyzék

előfeltételek

ezek a követelmények a folytatás előtt.

  1. Office 365 előfizetés. Ha még nem rendelkezik ezzel, feliratkozhat egy Office 365 E5 próba előfizetésre.
  2. A Windows 10 számítógép PowerShell v5.1
  3. nyilvános statikus IP-cím. Még az Office 365-ben is létrehozhat SMTP relét, de lehet, hogy nem teszteli.
  4. TCP port 25 hozzáférés egy ügyféltől az Office MX végpontjához
  5. érvényes SSL tanúsítvány. Ez a tanúsítvány lehet helyettesítő tanúsítvány (pl. *.yourdomain.com) által kiadott harmadik fél tanúsítványt hatóságok, mint LetsEncrypt, Digicert, stb .. Ne feledje, hogy nem használhatja a belső PKI által kiadott önaláírt tanúsítványokat vagy tanúsítványokat, mert azok nem támogatottak. (csak a TLS kapcsolatokhoz szükséges)

az SMTP relé beállításához először létre kell hoznia egy csatlakozót az Office 365-ben az SMTP tranzakciók elfogadásához. Ez a csatlakozó SMTP relé tranzakciókat fog kapni az alkalmazásból vagy az eszközből.

mielőtt megpróbálna létrehozni egy csatlakozót, győződjön meg róla, hogy fiókja rendelkezik a megfelelő Exchange Online engedélyekkel. Győződjön meg róla, hogy fiókja a Szervezetkezelő csoport tagja.

a csatlakozó létrehozásának két módja van. Használhatja az Exchange Admin központot vagy a PowerShellt. Mindkét lehetőség ugyanazt a feladatot hajtja végre. Rajtad múlik, hogy melyiket használja. Ebben a cikkben mindkettőt lefedjük. Lefedjük mind a nem TLS, mind a TLS csatlakozók létrehozását.

hozzon létre egy nem TLS csatlakozót az Exchange Admin Center segítségével

kezdjük egy nem TLS csatlakozó létrehozásával. Először megtudhatja, hogyan kell ezt megtenni az Exchange Admin Center segítségével. Számos Office 365 SMTP beállítást konfigurálhat az Exchange Admin központban.

miután bejelentkezett, kattintson a mail flow (1) –> csatlakozók (2) –> új (3). Az új csatlakozó ablak felbukkan.

új csatlakozó
új csatlakozó

az új csatlakozó ablakban válassza ki a következőket: a szervezet e-mail szervere (1), Válassza ki: Office 365 (2), kattintson a Tovább gombra (3).

Kiválasztása mail flow forgatókönyv
Kiválasztása mail flow forgatókönyv

a következő ablakban írja be a nevet SMTP Relay (Nem TLS), vagy válassza ki a saját neve (1), írja be a leírás Fogadja el relé a helyszíni SMTP-Kiszolgáló (2), törölje Megtartja a belső Exchange e-mail fejlécek (ajánlott) (3), majd kattintson a Következő (4).

név hozzárendelése a csatlakozóhoz
név hozzárendelése a csatlakozóhoz

a következő ablakban válassza ki annak igazolásával, hogy a küldő szerver IP-címe megegyezik az egyik ilyen IP-cím, amely a szervezetéhez tartozik (1), majd kattintson a Hozzáadás (2) gombra.

engedélyezett IP címek hozzáadása a csatlakozóhoz
engedélyezett IP címek hozzáadása a csatlakozóhoz

az új felbukkanó ablakban írja be a nyilvános IP-címét (1), majd kattintson az OK (2) gombra. Ennek vissza kell térnie az előző ablakhoz.

engedélyezett IP címek hozzáadása a csatlakozóhoz
engedélyezett IP címek hozzáadása a csatlakozóhoz

ellenőrizze, hogy az IP-cím szerepel-e a listában (1), majd kattintson a Tovább (2) gombra.

engedélyezett IP címek hozzáadása a csatlakozóhoz
engedélyezett IP címek hozzáadása a csatlakozóhoz

akkor látni fogja a módosítások összefoglalását, amelyeket végre kell hajtania. Először dolgozzon a szükséges változtatásokkal. Ha nincs, akkor menjen előre, majd kattintson a Mentés gombra.

vissza az Exchange Admin központban, most megerősítheti, hogy az új csatlakozó létrejött.

Office 365 csatlakozó jött létre
Office 365 csatlakozó jött létre

most létre kell hoznia egy nem TLS csatlakozót.

hozzon létre egy TLS csatlakozót az Exchange Admin Center segítségével

a TLS csatlakozó létrehozása hasonló a nem TLS csatlakozó létrehozásához. Például hogyan hoztál létre egy nem TLS csatlakozót, menj vissza az új csatlakozó varázslóhoz, és használd ugyanazt a mail flow forgatókönyvet. Én lesz egy csatlakozó neve SMTP relé (nem TLS), de a tiéd változhat.

az Office 365 meghatározására szolgáló ablakban azonosítania kell az e-maileket az e-mail szerverről, válassza a következő lehetőséget:

  • annak ellenőrzésével, hogy a küldő szerver által az Office 365 hitelesítésére használt tanúsítványon szereplő név megfelel-e ennek a domain névnek (ajánlott) (1)
  • majd írja be az SSL tanúsítvány tárgyát (2)
  • és kattintson a Tovább gombra (3).
hozzon létre egy TLS csatlakozót az Exchange Admin Center segítségével

ismét megjelenik egy összefoglaló a szükséges változásokról. A feldolgozás előtt először dolgozzon velük. Ha nincs ilyen, azonnal rákattinthat a Mentés gombra.

hozzon létre egy nem TLS csatlakozót a PowerShell segítségével

Ha az Office 365 csatlakozók létrehozása GUI-n keresztül nem a te dolgod, akkor mindig létrehozhatja őket PowerShell-en keresztül is. Ehhez először győződjön meg róla, hogy csatlakozik az online PowerShell cseréjéhez.

a csatlakozó létrehozásához a New-InboundConnector parancsot kell futtatnia. Ez a parancs néhány különböző paramétert igényel, így ezeket a paramétereket idő előtt beállítom a PowerShell splatting használatával.

néhány megjegyzést hozzáadtam az alábbi kódhoz, de itt van az egyes paraméterek lebontása, valamint az, hogy mire használják:

  • név-ez a csatlakozó neve.
  • ConnectorType-ez a csatlakozó típusa. Ez az érték lehet OnPremisesvagy Partner. Ebben a forgatókönyvben a megfelelő típus OnPremises.
  • SenderDomains – ez lehet az engedélyezett küldő domainek listája. Csak a bérlő ellenőrzött domainjei érvényesek. A csillag (*) azt jelenti, hogy lehetővé teszi az összes ellenőrzött tartomány számára, hogy üzeneteket továbbítson ezzel a csatlakozóval. Ha csak bizonyos feladó tartományokat kell engedélyeznie, módosítsa ezt az értéket a tartományok tömbjére. (pl. 'domain1.com','domain2.com')
  • SenderIPAddresses – ez az Ön nyilvános IP-címe. Ne felejtse el megváltoztatni ezt a végrehajtás előtt.
  • RestrictDomainsToIPAddresses – ha ez az érték$true értékre van állítva, ez azt jelzi, hogy ez a csatlakozó csak az engedélyezett nyilvános IP-címről érkező feladó-címekről fogad el e-maileket.
$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

végrehajtáskor valami hasonlót kell látnia az alábbiakhoz.

New-InboundConnector
New-InboundConnector

hozzon létre egy TLS csatlakozót PowerShell

feltételezve, hogy csatlakozik, futtassa az alábbi kódot, hogy hozzon létre egy TLS csatlakozót PowerShell is. Az alábbiakban számos paraméter azonos a nem TLS csatlakozó létrehozásával. A nem TLS csatlakozó létrehozásától eltérő szükséges paraméterek a következők:

  • RequireTLS – ez meghatározza, hogy a csatlakozó által kapott összes üzenethez TLS átvitelre van szükség
  • tlssendercertificatename – ez a feladó által használt tanúsítvány neve (vagy tárgya).

$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

hajtsa végre a fenti kódot, és hozzon létre egy TLS csatlakozót, amely készen áll az e-mail fogadására.

az Office 365 SMTP relé csatlakozójának tesztelése PowerShell

a csatlakozó létrehozása után készüljön fel annak tesztelésére. Ennek legegyszerűbb módja a PowerShell használata. Ebben a részben létrehozunk néhány PowerShell szkriptet, amelyek lehetővé teszik a csatlakozó megfelelő működésének egyszerű biztosítását.

a tesztelés megkezdése előtt először győződjön meg róla, hogy tudja, mi az MX végpont URL Az Exchange Online domainjéhez. Ha nem tudja, hogyan találja meg az MX végpont URL-jét, jelentkezzen be az Office 365 Admin portálra. Kattintson a Beállítás gombra, válassza ki a tartományokat, kattintson a tartomány nevére, majd másolja az MX pontokat a címre vagy az értékre.

nem TLS SMTP relé tesztelése (IP cím)

Megjegyzés: Ezt a tesztet azon a számítógépen kell elvégezni, amelynek nyilvános IP-címe megengedett az Office 365 SMTP relé beállításában.

teszteléshez használja az alábbi PowerShell kódot. Győződjön meg róla, hogy a FromTo és SmtpServer paraméterértékek a saját Office 365 SMTP relé beállításainak futtatása előtt.

  • To – tartalmaznia kell egy belső domain címzettet és egy külső domain címzettet. Ne felejtsd el megváltoztatni ezeket az értékeket a sajátodra.
  • From – meg kell változtatni a kijelölt feladó címét. Az e-mail cím domain részének a bérlő egyik e-mail domainjének kell lennie.
  • SmtpServer – meg kell változtatni, hogy a Hivatal 365 bérlő MX végpont.
$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

TLS SMTP relé (tanúsítvány) tesztelése

megjegyzés: a nyilvános SSL tanúsítványt PFX formátumban kell megkapnia, mielőtt folytatná ezt a tesztet.

mivel a TLS SMTP relé tanúsítványt igényel, nem használhatja a Send-MailMessage PowerShell cmdlet, mert nem teszi lehetővé egy adott tanúsítvány kiválasztását. Ehelyett használja a System.Net.Mail.SmtpClient nevű két. net objektumot az SMTP paraméterek, valamint a System.Net. Mail. MailMessage beállításához.

Az alábbiakban talál egy PowerShell kódrészletet, amelyet a TLS SMTP relé tesztelésére használhat. Ne felejtse el megváltoztatni a pfxFilepfxPassFromTo és SmtpServer értékeit a Office 365 SMTP relé beállítások futtatása előtt.

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

Ha a TLS csatlakozó beállítása helyes, a címzettek a Add() módszerrel határozzák meg a teszt e-mailt.

az SMTP Relay komló validálása a

üzenetfejléc segítségével most egy helyi szerver és az Office 365 SMTP relé segítségével létrehozott funkcionális SMTP relével rendelkezik. Az összes teszt sikeres volt, az eszközök üzeneteket küldhetnek mind a belső, mind a külső címzettnek. Szép munka!

Ha még mindig kétségei vannak, és meg kell erősítenie, hogy ezek az üzenetek az Office 365 SMTP relén keresztül mennek-e, akkor megtekintheti a kapott e-mailek üzenetfejléceit.

Megjegyzés: Az üzenetfejlécek megnyitása különböző levelező kliensek között változik. Az alábbi példa a Gmailre jellemző.

nyissa meg az e-mailt a Gmail felületen, nyissa meg az üzenetet, majd kattintson a három függőleges pontra (1), majd kattintson az eredeti (2) megjelenítése gombra.

az SMTP Relay komló validálása az üzenet fejlécével
az SMTP Relay komló validálása az üzenet fejlécével

egy új oldal megjeleníti az e-mail üzenetet fejlécek. Kattintson a Másolás a vágólapra (1).

Érvényesítése SMTP-továbbító Komló használata az Üzenet Fejléce
Érvényesítése SMTP-továbbító Komló használata az Üzenet Fejléce

Megnyit egy új böngésző fület, majd keresse meg a https://testconnectivity.microsoft.com/.

LÉPJEN az Üzenetelemző (1) fülre, illessze be a másolt adatokat a dobozba (2), majd kattintson a fejlécek elemzése (3) gombra.

fejlécek elemzése
fejlécek elemzése

az elemzés eredménye az alábbi táblázatban látható.

eredmények elemzése
eredmények elemzése

a fenti eredményekben a következő munkafolyamatot kell látni:

  1. IP cím 192.168.0.3 a számítógép eredetét jelzi.
  2. On-prem SMTP relay server megkapta az üzenetet.
  3. Az Exchange Online Protection (EOP) megkapta az üzenetet.
  4. Exchange Online server and re-routed for outbound delivery received the message.
  5. Office 365 to google.com átadtam az üzenetet.

az elemzési eredmények alapján megerősítheti, hogy az üzenet a kívánt módon áthaladt az Office 365 SMTP relén.

összefoglaló

ebben a cikkben megtanultad, hogyan kell létrehozni egy TLS és nem TLS Office 365 SMTP relét. Azt is megtanulta, hogyan tesztelje és erősítse meg funkcionalitását különböző technikák segítségével, valamint hogyan érvényesítheti az SMTP útvonalakat, amelyeken az üzenet áthaladt.

további olvasmányok