HostFact Help
HostFact Help > Instellingen
Microsoft 365 SMTP met XOAUTH2 instellen
Voor het gebruik van de Microsoft SMTP wordt gebruik gemaakt van de client credentials OAuth2 flow waarvoor er een app registratie moet worden gedaan in de eigen Microsoft Entra omgeving.
Stap 1: App registratie
Log in op het "Microsoft Entra admin center" en ga in het menu naar "App registrations". Hier voeg je een nieuwe app toe, als naam kan je "HostFact SMTP" gebruiken en selecteer de tenant waarvan je het e-mailadres wilt gaan gebruiken. Er hoeft geen redirect URL te worden ingesteld aangezien we gebruik maken van client credentials flow.
Stap 2: Applicatie rechten toekennen
Ga naar de zojuist aangemaakte app en kies onder "Manage" voor "API permissions". Ga naar “Add a permission”, selecteer “APIs my organization uses” en selecteer “Office 365 Exchange Online”. Kies type “Application permissions”, hier dien je rechten voor "SMTP.SendAsApp" toe te voegen. Het is noodzakelijk na het toevoegen ook de "Grant admin consent" voor deze rechten uit te voeren.
Stap 3: Client secret aanmaken
Ga binnen de aangemaakte app nu naar "Certificates & secrets". Hier kies je onder het tabje "Secrets" voor "New client secret". Nadat deze is aangemaakt krijg je eenmalig de secret value te zien, deze heb je nodig in de volgende stap.
Stap 4: Instellen in HostFact
Ga nu in je HostFact omgeving naar "Instellingen" -> "HostFact voorkeuren" -> "E-mail". Kies bij "SMTP authenticatie" voor "Microsoft OAuth2".
Vervolgens vul je bij "Gebruikersnaam" het e-mailaccount in waarmee de authenticatie gaat worden uitgevoerd.
Bij "SMTP OAuth2 client ID" vul je de "Application (client) ID" in die je in de Microsoft Entra omgeving bij de applicatie ziet. Dat is dus niet de "Secret ID" van het aangemaakte secret!
Bij "SMTP OAuth2 tenant (Microsoft only)" vul je de "Directory (tenant) ID" in die je in de Microsoft Entra omgeving bij de applicatie ziet.
Bij "SMTP OAuth2 client secret" vul je de "Value" van de aangemaakte secret in uit stap 3.
Stap 5: Service Principal in Exchange Online
Vervolgens moet er een service principal worden aamgemaakt in de Exchange Online omgeving.
Vanuit Powershell voer je het command "Connect-ExchangeOnline" uit en log je in met het Microsoft account.
Vervolgens voer je het volgende command uit:
New-ServicePrincipal -AppId <CLIENT_ID> -ObjectId <OBJECT_ID>
Let op: Het Object ID dat hier nodig is vind je in de Microsoft Entra omgeving onder "Enterprise Apps" en is dus niet het object dat je bij "App registrations" ziet.
Stap 6: Mailbox rechten
Vanuit Powershell is er nog een command nodig om de rechten van een specifieke mailbox toe te kennen. Hierin gebruik je weer de object ID vanuit de "Enterprise app" net als bij de vorige stap:
Voor het gebruik van de Microsoft SMTP wordt gebruik gemaakt van de client credentials OAuth2 flow waarvoor er een app registratie moet worden gedaan in de eigen Microsoft Entra omgeving.
Stap 1: App registratie
Log in op het "Microsoft Entra admin center" en ga in het menu naar "App registrations". Hier voeg je een nieuwe app toe, als naam kan je "HostFact SMTP" gebruiken en selecteer de tenant waarvan je het e-mailadres wilt gaan gebruiken. Er hoeft geen redirect URL te worden ingesteld aangezien we gebruik maken van client credentials flow.
Stap 2: Applicatie rechten toekennen
Ga naar de zojuist aangemaakte app en kies onder "Manage" voor "API permissions". Ga naar “Add a permission”, selecteer “APIs my organization uses” en selecteer “Office 365 Exchange Online”. Kies type “Application permissions”, hier dien je rechten voor "SMTP.SendAsApp" toe te voegen. Het is noodzakelijk na het toevoegen ook de "Grant admin consent" voor deze rechten uit te voeren.
Stap 3: Client secret aanmaken
Ga binnen de aangemaakte app nu naar "Certificates & secrets". Hier kies je onder het tabje "Secrets" voor "New client secret". Nadat deze is aangemaakt krijg je eenmalig de secret value te zien, deze heb je nodig in de volgende stap.
Stap 4: Instellen in HostFact
Ga nu in je HostFact omgeving naar "Instellingen" -> "HostFact voorkeuren" -> "E-mail". Kies bij "SMTP authenticatie" voor "Microsoft OAuth2".
Vervolgens vul je bij "Gebruikersnaam" het e-mailaccount in waarmee de authenticatie gaat worden uitgevoerd.
Bij "SMTP OAuth2 client ID" vul je de "Application (client) ID" in die je in de Microsoft Entra omgeving bij de applicatie ziet. Dat is dus niet de "Secret ID" van het aangemaakte secret!
Bij "SMTP OAuth2 tenant (Microsoft only)" vul je de "Directory (tenant) ID" in die je in de Microsoft Entra omgeving bij de applicatie ziet.
Bij "SMTP OAuth2 client secret" vul je de "Value" van de aangemaakte secret in uit stap 3.
Stap 5: Service Principal in Exchange Online
Vervolgens moet er een service principal worden aamgemaakt in de Exchange Online omgeving.
Vanuit Powershell voer je het command "Connect-ExchangeOnline" uit en log je in met het Microsoft account.
Vervolgens voer je het volgende command uit:
New-ServicePrincipal -AppId <CLIENT_ID> -ObjectId <OBJECT_ID>
Let op: Het Object ID dat hier nodig is vind je in de Microsoft Entra omgeving onder "Enterprise Apps" en is dus niet het object dat je bij "App registrations" ziet.
Stap 6: Mailbox rechten
Vanuit Powershell is er nog een command nodig om de rechten van een specifieke mailbox toe te kennen. Hierin gebruik je weer de object ID vanuit de "Enterprise app" net als bij de vorige stap:
Add-MailboxPermission -Identity "user@domain.nl" `
-User "<OBJECT_ID>" `
-AccessRights FullAccess
Stap 7: SMTP Auth controleren op de mailbox
Log in op het Microsoft 365 Admin center.
Ga naar "Gebruikers" en kies dezelfde e-mailaccounts als waar je in voorgaande stap de mailbox rechten hebt toegekend. Ga bij deze gebruiker naar het tabblad "E-mail" en klik op "E-mailapps beheren".
Controleer hier of "Geverifieerde SMTP" is aangevinkt.
Stap 7: SMTP Auth controleren op de mailbox
Log in op het Microsoft 365 Admin center.
Ga naar "Gebruikers" en kies dezelfde e-mailaccounts als waar je in voorgaande stap de mailbox rechten hebt toegekend. Ga bij deze gebruiker naar het tabblad "E-mail" en klik op "E-mailapps beheren".
Controleer hier of "Geverifieerde SMTP" is aangevinkt.