Articles

Adam Automator

Hater det eller elsker det; e-post er overalt. Protokollen for å flytte den e-posten overalt ER SMTP, OG SMTP «rutere» ER SMTP-releer.

Konfigurering AV SMTP-releer varierer på tvers av systemer, men hvis Du Har Office 365 som e-posttjenesteleverandør, er alternativene begrenset. Oppsettet kan være komplisert og utsatt for feil, spesielt for enheter som IKKE ER I STAND TIL TLS.

Merk at sending av e-post Via Office 365 ikke krever EN smtp-relay. Du kan få klienter til å sende e-post direkte Til Office 365 uten å legge TIL EN smtp-relay som ikke krever konfigurasjonsendringer. Hvis du vil vite hva De er, kan du lese Hvordan Sende E-Post Med Direktesending Av OFFICE 365/SMTP-Klient (PowerShell).

Innholdsfortegnelse

Forutsetninger

Dette er kravene før du kan fortsette.

  1. Et Office 365-Abonnement. Hvis Du ikke har dette ennå, Kan Du Registrere Deg For Et Prøveabonnement På Office 365 E5.
  2. En windows 10-datamaskin med PowerShell v5.1
  3. en offentlig statisk IP-adresse. DU kan fortsatt opprette EN smtp-relay I Office 365 selv uten dette, men du kan ikke teste.
  4. tcp port 25 tilgang fra en klient til Office mx endpoint
  5. et gyldig SSL-sertifikat. Dette sertifikatet kan være et wildcard-sertifikat (f.eks. * . yourdomain.com) utstedt av tredjeparts sertifikatmyndigheter som LetsEncrypt, Digicert, etc. Merk at du ikke kan bruke selvsignerte sertifikater eller sertifikater utstedt av en intern PKI fordi de ikke støttes. (kreves bare FOR tls-tilkoblinger)

hvis du vil konfigurere EN smtp-relay, må du først opprette en kobling I Office 365 for å godta smtp-transaksjoner. Denne kontakten vil motta smtp relay-transaksjoner fra programmet eller enheten.

før du prøver å opprette en kobling, må du kontrollere at kontoen har De riktige Exchange Online-tillatelsene. Kontroller at kontoen din er medlem Av Organisasjonsadministrasjonsgruppen.

det er to måter å opprette en kontakt på. Du kan enten bruke Administrasjonssenteret For Exchange eller PowerShell. Begge alternativene vil utføre samme oppgave. Det er opp til deg hvilken du skal bruke. I denne artikkelen vil vi dekke begge deler. Vi vil også dekke å lage både ikke-TLS og TLS-kontakter.

Opprett En Ikke-Tls-Kontakt ved Hjelp Av Administrasjonssenteret For Exchange

la oss starte med å opprette en ikke-TLS-kontakt. Du lærer først hvordan du gjør dette via Administrasjonssenteret For Exchange. Du kan konfigurere Mange Office 365 SMTP-innstillinger i Administrasjonssenteret For Exchange.

når du er logget inn, klikker du på mail flow (1) –> kontakter (2) –> Ny (3). Det Nye Kontaktvinduet vil dukke opp.

Ny Kontakt
Ny Kontakt

velg fra: organisasjonens e-postserver (1), velg Til: Office 365 (2), klikk på neste (3).

Velge et postflyt scenario
Velge et postflyt scenario

i det neste vinduet skriver du inn NAVNET SMTP Relay (Ikke-TLS) eller velger ditt eget navn (1), skriv inn beskrivelsen godta videresending fra lokale smtp-server (2), fjern merket for behold interne exchange-e-posthoder (anbefalt) (3) og klikk neste (4).

Tilordne et navn til kontakten
Tilordne et navn til kontakten

i neste vindu velger du ved å bekrefte AT IP-adressen til kontakten er sendingsserveren samsvarer med en av disse ip-adressene som tilhører organisasjonen (1), og klikk legg til (2).

Legge til tillatte IP-adresser til kontakten
Legge til tillatte IP-adresser til kontakten

i det nye popup-vinduet skriver du inn din offentlige IP-adresse (1), klikk deretter ok (2). Dette burde bringe deg tilbake til forrige vindu.

Legge til tillatte IP-adresser til kontakten
Legge til tillatte IP-adresser til kontakten

Kontroller AT IP-adressen er lagt til i listen (1), og klikk deretter på neste (2).

Legge til tillatte IP-adresser til kontakten
Legge til tillatte IP-adresser til kontakten

da vil du se sammendraget av endringene du må implementere. Arbeid på de nødvendige endringene først. Hvis det ikke er noen, kan du gå videre og klikke Lagre.

Tilbake I Administrasjonssenteret For Exchange kan du nå bekrefte at den nye koblingen er opprettet.

Office 365-Kontakt er opprettet
Office 365-Kontakt er opprettet

Du skal nå ha en ikke-TLS-kontakt opprettet.

Opprette EN Tls-Kontakt ved Hjelp Av Exchange Admin Center

Opprette EN TLS-kontakt ligner på å opprette en ikke-TLS-kontakt. På samme måte som du opprettet en ikke-TLS-kontakt, går du tilbake Til Veiviseren For Ny Kobling og bruker det samme e-postflyt-scenariet. Jeg bruker et a-kontaktnavn FOR SMTP Relay (Ikke-TLS), men din kan variere.

i vinduet for å definere Office 365 bør identifisere e-post fra e-postserveren, velg:

  • ved å bekrefte at emnenavnet på sertifikatet som sendingsserveren bruker til å godkjenne Med Office 365, samsvarer med dette domenenavnet (anbefalt) (1)
  • skriv deretter INN EMNET FOR SSL-sertifikatet (2)
  • Og klikk Neste (3).
Opprett EN Tls-Kontakt ved Hjelp Av Exchange Admin Center
Opprett EN Tls-Kontakt ved Hjelp Av Exchange Admin Center

igjen vil du se et sammendrag nødvendige endringer. Arbeid på dem først før behandling. Hvis det ikke er noen, kan du klikke På Lagre-knappen med en gang.

Opprett En Ikke-TLS-Kontakt ved Hjelp Av PowerShell

hvis du ikke lager Office 365-kontakter via EN GUI, kan du alltid opprette Dem via PowerShell også. Hvis du vil gjøre dette, må du først kontrollere At Du er koblet Til Exchange Online PowerShell.

for å opprette kontakten må du kjøre kommandoen New-InboundConnector. Denne kommandoen krever noen forskjellige parametere, så jeg vil sette opp disse parameterne på Forhånd ved Hjelp Av PowerShell splatting.

Jeg har lagt til noen kommentarer i selve koden nedenfor, men her er en oversikt over hver parameter og hva den brukes til:

  • Navn-dette er navnet på kontakten –
  • ConnectorType – dette er typen kontakt. Denne verdien kan være OnPremises eller Partner. I dette scenariet er den aktuelle typen OnPremises.
  • SenderDomains-dette kan være en liste over tillatte avsenderdomener. Bare bekreftede domener for leieren er gyldige valg. Stjernen (*) betyr at du tillater alle dine bekreftede domener å videresende meldinger ved hjelp av denne kontakten. Hvis du bare trenger å tillate bestemte avsenderdomener, endrer du denne verdien til en rekke domener. (f.eks. 'domain1.com','domain2.com')
  • SenderIPAddresses-Dette er din offentlige IP-adresse. Ikke glem å endre dette før kjøring.
  • RestrictDomainsToIPAddresses – når denne verdien er satt til $true, indikerer det at denne kontakten bare godtar e-post fra avsenderadresser som kommer fra din tillatte offentlige IP-adresse.
$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

når du utføres, bør du se noe som ligner på nedenfor.

Ny-InboundConnector
Ny-InboundConnector

Opprett EN Tls-Kontakt ved Hjelp Av PowerShell

forutsatt at du er tilkoblet, kjør koden nedenfor for å opprette en tls-kontakt med powershell også. Du kan se nedenfor mange parametere er identiske med å opprette en ikke-TLS-kontakt. De nødvendige parametrene som avviker fra å opprette en ikke-TLS-kontakt, er:

  • Requirentls – dette angir at alle meldinger mottatt av denne kontakten krever tls – overføring
  • TlsSenderCertificateName-Dette er navnet (eller emnet) på sertifikatet som brukes av avsenderen.
$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

Utfør koden ovenfor og ha en TLS-kontakt opprettet og klar til å motta e-post.

Teste Office 365 SMTP Relay-Kontakten med PowerShell

når du har opprettet kontakten, forbereder du deg på å teste den ut. Den enkleste måten å gjøre Det på er Å bruke PowerShell. I denne delen lager vi Noen PowerShell-skript slik at du enkelt kan sikre at kontakten fungerer som den skal.

før du begynner å teste, må du først sørge for at DU vet HVA NETTADRESSEN FOR mx-endepunktet er for Exchange Online-domenet. Hvis Du ikke vet hvordan DU finner NETTADRESSEN FOR mx-endepunktet, logger du På Administrasjonsportalen For Office 365. Klikk På Oppsett, velg Domener, klikk På Domenenavnet og kopier MX-Punktene til adresse eller verdi.

Testing av en ikke-TLS SMTP Relay (IP-Adresse)

Merk: Denne testingen må gjøres fra datamaskinen som offentlig IP-adresse er tillatt i office 365 smtp relay setup.

Bruk PowerShell-koden nedenfor for testing. Pass på at du endrer parameterverdiene FromTo og SmtpServer for å bruke Dine Egne Innstillinger For Smtp-relay For Office 365 før du kjører den.

  • To – må inkludere en intern domenemottaker og en ekstern domenemottaker. Ikke glem å endre disse verdiene til din egen.
  • From – må endres til din nominerte avsenderadresse. Domenedelen av e-postadressen må være en av leierens e-postdomener.
  • SmtpServer – må endres Til Mx-endepunktet For office 365-tenanten.
$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

Teste Et Tls SMTP Relay (Sertifikat)

Merk: du må ha det offentlige SSL-sertifikatet I PFX-format før du kan fortsette med denne testen.

Siden TLS SMTP relay krever et sertifikat, kan du ikke brukeSend-MailMessage PowerShell-cmdleten fordi Den ikke tillater deg å velge et bestemt sertifikat. Bruk i stedet TO. NET-objekter kalt System. Net.Mail.SmtpClient til å definere SMTP-parametrene, Og System.Net.Mail.MailMessage til å skrive meldingen.

Nedenfor finner du En PowerShell-kodebit du kan bruke til å teste TLS SMTP relay. Ikke glem å endre pfxFilepfxPassFromTo og SmtpServer verdier å bruke din office 365 smtp relay innstillinger før du kjører den.

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

hvis satt OPP tls-kontakten er riktig, mottakerne definere viaAdd() metoden skal motta test e-post.

Validere Smtp Relay Humle Ved Hjelp Av Meldingshodet

nå har du en funksjonell SMTP relay satt opp ved hjelp av en lokal server Og Office 365 SMTP relay. Alle testene var vellykkede, og enhetene dine kan sende meldinger til både interne og eksterne mottakere. Bra jobba!

hvis du fortsatt er i tvil og trenger å bekrefte om disse meldingene går Gjennom Office 365 SMTP relay, kan du se gjennom meldingsoverskriftene på de mottatte e-postene.

Merk: Åpning av meldingshoder varierer mellom ulike e-postklienter. Eksemplet nedenfor er spesifikt For Gmail.

Åpne e-posten i Gmail-grensesnittet, åpne meldingen, og klikk på de tre vertikale prikkene (1), og klikk Deretter Vis original (2).

Validere Smtp Relay Humle ved Hjelp Av Meldingshodet
Validere Smtp Relay Humle ved Hjelp Av Meldingshodet

en ny side vil vise e-post meldingshoder. Klikk På Kopier til utklippstavle (1).

Validere Smtp Relay Humle ved Hjelp Av Meldingshodet
Validere Smtp Relay Humle ved Hjelp Av Meldingshodet

åpne en ny nettleserfane og naviger tilhttps://testconnectivity.microsoft.com/.

Gå til Meldingsanalysator (1) – fanen, lim inn de kopierte dataene i boksen (2), og klikk Analyser overskrifter (3).

Analysere overskrifter
Analysere overskrifter

resultatet av analysen vil bli vist i tabellen som vist nedenfor.

Analysere resultater
Analysere resultater

du bør se følgende arbeidsflyt i resultatene ovenfor:

  1. IP-adresse 192.168.0.3 den angir opprinnelsen til datamaskinen.
  2. on-prem smtp relay server mottok meldingen.
  3. Exchange Online Protection (EOP) mottok meldingen.
  4. Exchange online server og re-rutes for utgående levering mottok meldingen.
  5. Office 365 til google.com leverte meldingen.

Basert på analyseresultatene, kan du bekrefte at meldingen gikk Gjennom Office 365 SMTP relay som beregnet.

Sammendrag

I denne artikkelen har du lært hvordan du oppretter En Tls Og ikke-Tls Office 365 SMTP relay. Du lærte også hvordan du tester og bekrefter funksjonaliteten ved hjelp av ulike teknikker og hvordan du validerer SMTP-rutene som meldingen hadde gått gjennom.

Videre Lesing