OAuth til SMTP
Registrér appen · Giv tilladelser · Opsæt Exchange Online
Hjemmesiden sender e-mails, fx kvitteringer fra Formularer. Bruger I Microsoft 365, kan mails sendes sikkert via OAuth. Det kræver en registreret app i Microsoft Entra ID.
Her kan du læse, hvordan jeres IT-afdeling opretter appen, giver den de rigtige tilladelser og sætter Exchange Online op. Når I er færdige, sender I Tenant ID, Client ID og Client Secret til support@cabana.dk.
Registrér appen i Entra ID
Det kræver rollen Privileged Role Administrator.
Log ind på Azure-portalen og klik på Microsoft Entra ID.

Klik på App registrations i menuen og derefter på New registration.

Giv appen et navn, og vælg Accounts in this organizational directory only. Klik derefter på Register.

Notér Application (client) ID og Directory (tenant) ID fra appens oversigt. Dem skal I bruge senere.

Gå til Certificates & secrets → New client secret. Skriv en beskrivelse og vælg, hvor længe den skal gælde.

Obs! Kopiér værdien med det samme. Den vises kun én gang. Husk at sende en ny client secret til Cabana, før den gamle udløber.
Giv appen tilladelser
Gå til API permissions → Add a permission → APIs my organization uses, og vælg Office 365 Exchange Online.

Vælg Application permissions, søg efter smtp og sæt hak ved SMTP.SendAsApp.

Klik igen på Add a permission og vælg Microsoft Graph → Application permissions. Søg efter send og sæt hak ved Mail.Send.

Klik på Grant admin consent, så tilladelserne træder i kraft.

Opsæt Exchange Online
Det kræver rollen Exchange Administrator.
Obs! Brug ikke det Object ID, der står på appens oversigt. Klik i stedet på linket ud for Managed application in local directory.

Her finder du det Application ID og Object ID, som du skal bruge i PowerShell.

Åbn PowerShell og kør kommandoerne herunder. Erstat værdierne i krøllede parenteser med jeres egne. Den første linje er kun nødvendig, hvis modulet ikke er installeret.
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization {tenantID}
New-ServicePrincipal -AppId {ApplicationID} -ObjectId {ObjectID} -DisplayName {navn}
Get-ServicePrincipal | fl
Den sidste kommando viser den nye service principal. Notér værdien ud for Identity. Den skal bruges i næste trin.

Giv appen fuld adgang til den postkasse, mailene skal sendes fra, og slå SMTP-godkendelse til. Brug værdien fra Identity i stedet for {Identity}:
Add-MailboxPermission -Identity "bruger@domaene.dk" -User {Identity} -AccessRights FullAccess
Set-CASMailbox -Identity "bruger@domaene.dk" -SmtpClientAuthenticationDisabled $falseDet tager ca. 10 minutter, før ændringerne slår igennem.
Send Tenant ID, Client ID og Client Secret til support@cabana.dk. Så sætter vi hjemmesiden op til at sende mails via OAuth.
Fejlfinding
Tjek, at appen har fuld adgang til postkassen. Kør denne kommando i PowerShell og se, om appen står på listen med FullAccess:
Get-MailboxPermission -Identity "bruger@domaene.dk" | Format-List

Står appen der ikke, så kør kommandoen Add-MailboxPermission igen.