Adam the Automator
Hate it or love it; sähköposti on kaikkialla. Protokolla kyseisen sähköpostin siirtämiseksi kaikkialla on SMTP, ja SMTP ”reitittimet” ovat SMTP-releitä.
SMTP-releiden käyttöönotto vaihtelee eri järjestelmissä, mutta jos sinulla on Office 365 postipalvelun tarjoajana, vaihtoehtosi ovat rajalliset. Setup voi olla monimutkainen ja virhealtis, erityisesti laitteet, jotka eivät ole TLS pystyy.
huomaa, että sähköpostin lähettäminen Office 365: n kautta ei vaadi SMTP-viestiyhteyttä. Voit pyytää asiakkaita lähettämään sähköposteja suoraan Office 365: een lisäämättä SMTP-relettä, joka ei vaadi asetusmuutoksia. Jos haluat tietää, mitä ne ovat, lue Miten lähetän Office 365 Direct Send/SMTP-Asiakaslähetyssähköpostin (PowerShell).
Sisällysluettelo
edellytykset
nämä ovat ne vaatimukset, ennen kuin voi edetä.
- Office 365: n tilaus. Jos sinulla ei ole tätä vielä, voit rekisteröityä Office 365 E5 kokeilutilaukseen.
- Windows 10-tietokone PowerShell v5: llä.1
- Julkinen staattinen IP-osoite. Voit silti luoda SMTP-releen Office 365: ssä myös ilman tätä, mutta et välttämättä testaa.
- TCP-portti 25 pääsy asiakkaalta toimistoosi MX päätepiste
- voimassa oleva SSL-varmenne. Tämä varmenne voisi olla jokerimerkki varmenne (esim. *.yourdomain.com) kolmannen osapuolen varmenneviranomaisten, kuten Letsencryptin, Digicertin jne.myöntämä. Huomaa, että et voi käyttää itse allekirjoitettuja varmenteita tai sisäisen PKI: n myöntämiä varmenteita, koska niitä ei tueta. (vaaditaan vain TLS-yhteyksissä)
muodostaaksesi SMTP-releen, sinun on ensin luotava liitin Office 365: een SMTP-tapahtumien hyväksymiseksi. Tämä liitin vastaanottaa SMTP-reletapahtumat sovelluksesta tai laitteesta.
ennen kuin yrität luoda liitintä, varmista, että tililläsi on asianmukaiset Exchange Online-oikeudet. Varmista, että tilisi on organisaation johtoryhmän jäsen.
on kaksi tapaa luoda liitin. Voit käyttää joko Exchange Admin Centeriä tai Powershellia. Molemmat vaihtoehdot suorittavat saman tehtävän. On sinusta kiinni, kumpaa käytät. Tässä artikkelissa käsitellään molempia. Me kattaa myös luoda sekä ei-TLS ja TLS liittimet.
luo Ei-TLS-liitin käyttäen Exchange Admin Centeriä
aloitetaan luomalla ei-TLS-liitin. Ensin opit tekemään tämän kautta Exchange Admin Center. Voit määrittää monia Office 365 SMTP-asetuksia Exchange Admin Centerissä.
kun olet kirjautunut sisään, klikkaa mail flow (1) –> connectors (2) –> New (3). Uusi Liitinikkuna avautuu.
in the New Connector window, select From: Your organization ’ s email server (1), select To: Office 365 (2), Valitse seuraava (3).
seuraavaan ikkunaan kirjoita nimi SMTP rele (ei-TLS) tai valitse oma nimesi (1), Kirjoita kuvaukseen hyväksy rele paikan päällä SMTP-palvelimelta (2), poista valinta säilytä sisäinen vaihtosähköpostiosoitteet (suositeltava) (3) ja valitse Seuraava (4).
seuraavassa ikkunassa valitaan varmistamalla, että lähettävä palvelin vastaa yhtä näistä organisaatioosi kuuluvista IP-osoitteista (1) ja valitse Lisää (2).
uudessa ponnahdusikkunassa Kirjoita julkinen IP-osoitteesi (1), valitse sitten OK (2). Tämän pitäisi tuoda sinut takaisin edelliseen ikkunaan.
varmista, että IP-osoite on lisätty luetteloon (1), valitse sitten seuraava (2).
niin näet yhteenvedon tarvittavista muutoksista. Tee ensin tarvittavat muutokset. Jos ei ole, voit mennä eteenpäin ja valitse Tallenna.
Takaisin Exchange Admin Centerissä voit nyt vahvistaa, että uusi liitin on luotu.
nyt pitäisi olla luotu ei-TLS-liitin.
luo TLS-liitin Exchange Admin Centerin avulla
TLS-liittimen luominen on samanlaista kuin ei-TLS-liittimen luominen. Kuten se, miten loit ei-TLS-liittimen, palaa ohjattuun uuteen liittimeen ja käytä samaa sähköpostivirtatilannetta. Aion käyttää A-Liitin nimi SMTP rele (ei-TLS), mutta sinun voi vaihdella.
Office 365: n määrittelyikkunassa tulee tunnistaa Sähköposti sähköpostipalvelimeltasi, valitse:
- varmistamalla, että varmenteen aihe, jota lähettävä palvelin käyttää todennukseen Office 365: llä, vastaa tätä verkkotunnusta (suositus) (1)
- kirjoita sitten SSL-varmenteen aihe (2)
- ja valitse Seuraava (3).
uudelleen, näet yhteenvedon tarvittavat muutokset. Työstää niitä ensin ennen käsittelyä. Jos niitä ei ole, voit napsauttaa Tallenna-painiketta heti.
luo Ei-TLS-liitin Powershellilla
Jos Office 365-liittimien luominen graafisen käyttöliittymän kautta ei ole sinun juttusi, voit aina luoda ne myös Powershellissa. Jos haluat tehdä niin, varmista ensin, että olet yhteydessä Exchange Online Powershelliin.
liittimen luominen vaatii komennon New-InboundConnector
. Tämä komento vaatii muutamia eri parametreja, joten asetan nämä parametrit etukäteen PowerShell splattingin avulla.
olen lisännyt joitakin kommentteja itse koodiin alla, mutta tässä on erittely jokaisesta parametrista ja mihin sitä käytetään:
- nimi – tämä on liittimen nimi.
- ConnectorType – tämä on liitintyyppi. Tämä arvo voi olla
OnPremises
taiPartner
. Tässä skenaariossa sopiva tyyppi onOnPremises
. - SenderDomains – tämä voi olla luettelo sallituista lähettäjä-verkkotunnuksista. Vain vahvistetut verkkotunnukset vuokralaiselle ovat kelvollisia valintoja. Asteriski (
*
) tarkoittaa, että annat kaikkien vahvistettujen verkkotunnustesi välittää viestejä tämän liittimen avulla. Jos sinun tarvitsee vain sallia tietyt lähettäjä-verkkotunnukset, muuta tämä arvo verkkotunnusten joukkoon. (esim.'domain1.com','domain2.com'
) - SenderIPAddresses – tämä on julkinen IP-osoitteesi. Älä unohda muuttaa tätä ennen täytäntöönpanoa.
- RestrictDomainsToIPAddresses – kun tämä arvo on asetettu
$true
, se osoittaa, että tämä liitin hyväksyy vain sähköpostit lähettäjäosoitteista, jotka tulevat sallitusta julkisesta IP-osoitteestasi.
$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
suoritettaessa pitäisi nähdä jotain vastaavaa kuin alla.
luo TLS-liitin Powershellilla
olettaen, että olet yhteydessä, suorita alla oleva koodi luodaksesi TLS-liittimen myös powershellissa. Näet alla monet parametrit ovat identtisiä luoda ei-TLS liitin. Vaaditut parametrit, jotka poikkeavat ei-TLS-liittimen luomisesta, ovat:
- RequireTLS – tämä määrittää, että kaikki tämän liittimen vastaanottamat viestit edellyttävät TLS – lähetystä
- tlssendercertificatename-tämä on lähettäjän käyttämän varmenteen nimi (tai aihe).
$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
suorita yllä oleva koodi ja luo TLS-liitin, joka on valmis vastaanottamaan sähköpostia.
Testing The Office 365 SMTP Relay Connector with PowerShell
kun olet luonut liittimen, valmistaudu testaamaan sitä. Helpoin tapa tehdä se on käyttää Powershellia. Tässä osiossa luomme joitakin PowerShell-skriptejä, joiden avulla voit helposti varmistaa, että liitin toimii oikein.
ennen kuin aloitat testauksen, varmista ensin, että tiedät MX-päätepisteen URL-osoitteen Exchange Online-verkkotunnuksellesi. Jos et tiedä, miten löytää MX päätepisteen URL, Kirjaudu Office 365 Admin Portal. Napsauta Setup-painiketta, Valitse Verkkotunnukset, Napsauta verkkotunnuksen nimeä ja kopioi MX-pisteet osoitteeksi tai arvoksi.
Testing a non-TLS SMTP Relay (IP-osoite)
Note: Tämä testaus on tehtävä tietokoneesta, jonka julkinen IP-osoite on sallittu Office 365 SMTP-releasetuksessa.
käytä testaukseen alla olevaa PowerShell-koodia. Muista muuttaa From
To
ja SmtpServer
parametriarvot käyttääksesi omia Office 365 SMTP releasetuksiasi ennen sen ajamista.
-
To
– täytyy sisältää yksi sisäisen verkkotunnuksen vastaanottaja ja yksi ulkoisen verkkotunnuksen vastaanottaja. Älä unohda muuttaa näitä arvoja omiksi. -
From
– on vaihdettava nimettyyn lähettäjän osoitteeseen. Sähköpostiosoitteen verkkotunnusosan on oltava yksi vuokralaisen sähköpostikoodeista. -
SmtpServer
– on vaihdettava Office 365-vuokralaisen MX-päätetapahtumaan.
$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-releen (sertifikaatti) testaus
Huom: ennen kuin voit edetä tässä testissä, sinun on oltava julkinen SSL-sertifikaatti PFX-muodossa.
koska TLS SMTP-rele vaatii varmenteen, et voi käyttää Send-MailMessage
PowerShell cmdlet ’ tä, koska siinä ei voi valita tiettyä varmennetta. Käytä sen sijaan kahta.Net-objektia nimeltä System.Net.Mail.SmtpClient SMTP-parametrien määrittämiseen ja System.Net.Mail.MailMessage viestin säveltämiseen.
alla on PowerShell-koodinpätkä, jolla voit testata TLS SMTP-relettä. Älä unohda muuttaa pfxFile
pfxPass
From
To
ja SmtpServer
arvot Office 365 SMTP releasetukset ennen sen suorittamista.
# 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)
Jos TLS-liitin on määritetty oikein, vastaanottajat määrittelevät Add()
– menetelmän kautta tulee saada testisähköposti.
SMTP-releen humalan validointi käyttämällä viestin otsikkoa
nyt sinulla on toimiva SMTP-rele, joka on perustettu paikallisen palvelimen ja Office 365 SMTP-releen avulla. Kaikki testit onnistuivat ja laitteesi voivat lähettää viestejä sekä sisäisille että ulkoisille vastaanottajille. Hyvää työtä!
Jos olet vielä epävarma ja haluat varmistaa, menevätkö nämä viestit Office 365 SMTP-releen kautta, voit tarkistaa vastaanotettujen sähköpostien viestiotsikot.
Huom: viestien otsikoiden avaaminen vaihtelee eri sähköpostiohjelmien välillä. Alla oleva esimerkki on erityinen Gmail.
avaa sähköposti Gmail-käyttöliittymässä, avaa viesti ja napsauta kolmea pystysuoraa pistettä (1) ja valitse sitten Näytä alkuperäinen (2).
uusi sivu näyttää sähköpostiviestin otsikot. Napsauta Kopioi leikepöydälle (1).
Avaa uusi selaimen välilehti ja siirry https://testconnectivity.microsoft.com/.
Siirry Viestianalysaattori (1) – välilehteen, liitä Kopioidut tiedot ruutuun (2) ja valitse Analysoi otsikot (3).
analyysin tulos näkyy alla olevassa taulukossa.
seuraavan työnkulun pitäisi näkyä yllä olevissa tuloksissa:
- IP-osoite 192.168.0.3 the ilmaisee tietokoneen alkuperän.
- on-prem SMTP relay server vastaanotti viestin.
- Exchange Online Protection (EOP) sai viestin.
- Exchange Online server ja uudelleen reititetty lähtevään toimitukseen sai viestin.
- toimisto 365 to google.com välitin viestin.
analyysitulosten perusteella voidaan vahvistaa, että viesti kulki Office 365 SMTP-releen kautta aiotulla tavalla.
Yhteenveto
tässä artikkelissa olet oppinut luomaan TLS: n ja ei-TLS Office 365 SMTP-releen. Opit myös testaamaan ja vahvistamaan niiden toimivuutta eri tekniikoilla sekä vahvistamaan SMTP-reitit, joiden kautta viesti oli kulkenut.
Leave a Reply