SMTP relay Microsoft 365

Wanneer je een applicatie hebt die e-mails kan verzenden, wil je daar natuurlijk gebruik van maken.  Indien je geen on-premise Exchange server hebt, is zoiets snel geregeld, maar maak je gebruik van Microsoft 365 is het net iets lastiger.

Toch is dit te regelen, je hebt daarvoor de volgende gegevens nodig

Servernaam:     smtp.office365.com
Poortnummer:    587
TLS/StartTLS:   Ingeschakeld
Gebruikersnaam: naam@eenofanderdomein.nl
Wachtwoord:     W8w00rt;-)

Wanneer je via je applicatie geen e-mails ontvangt, wil je natuurlijk testen dat de gegevens die je ontvangen hebt van je mailbox juist zijn. Dit kun je binnen Windows 10 met behulp van Powershell. Allereerst geef je een commando op, dat een pop-up geeft om de gebruikersnaam en wachtwoord van een Office 365 mailbox in te voeren.

$msolcred = get-credential

Daarna vul gebruik je de volgende powershell opdracht om je test-bericht te sturen.

Send-MailMessage –From naam@eenofanderdomein.nl –To eenander@eenofanderdomein.nl –Subject “Test bericht” –Body “Office 365 SMTP Relay test” -SmtpServer smtp.office365.com -Credential $msolcred -UseSsl -Port 587

LET OP! Het kan zijn dat je bij een nieuwe tennant de volgende melding krijgt: “Client was not authenticated to send anonymous mail during MAIL FROM [AM0P190CA0019.EURP190.PROD.OUTLOOK.COM]”

In dat geval open je Powershell en verbind je met je tennant:

Set-ExecutionPolicy RemoteSigned

$UserCredential = Get-Credential 

$Session = New-PSSession -ConfigurationName Microsoft.Exchange  -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential 

$UserCredential -Authentication Basic -AllowRedirection Import-PSSession 

$Session -DisableNameChecking

Daarna zet je SmtpClientAuthenticationDisabled op False. Ook al had je voor je gevoel alle vinkjes bij de user > mail > mail apps goed staan…

Set-CASMailbox -Identity naam@eenofanderdomein.nl -SmtpClientAuthenticationDisabled $false

En als afsluiter niet vergeten om je sessie af te melden…

Remove-PSSession $session