EENMALIG INSTELLEN
Mail via Microsoft 365.
Gebruik jullie bestaande Microsoft 365-omgeving. Er is geen extra mailbox of Resend-account nodig. Deze app verstuurt uitsluitend vanuit wen@weavesbywen.nl. De site leest geen mail. Een aanmeldtest verstuurt niets; bevestigingen worden voorlopig bewust per bericht verstuurd vanuit Beheer.
1. Registreer de app
- Open Microsoft Entra als beheerder van de omgeving met Wendy’s mailbox.
- Ga naar App registrations / App-registraties → New registration. Naam: Weaves by Wen Mail. Kies alleen accounts in deze organisatie (single tenant). Laat Redirect URI leeg en registreer.
- Noteer Application (client) ID en Directory (tenant) ID.
- Ga naar Certificates & secrets → New client secret. Kopieer de Value / Waarde rechtstreeks naar Sites Settings als geheim
M365_CLIENT_SECRET. Dit is niet de Secret ID. Noteer de vervaldatum; vóór die datum moet dit geheim worden vervangen. - Sla ook
M365_CLIENT_IDenM365_TENANT_IDop als geheimen in Sites Settings. - Open Enterprise applications / Bedrijfstoepassingen, zoek dezelfde app en noteer de Object ID. Gebruik hier de Object ID van de bedrijfstoepassing, niet die van de appregistratie.
Geef deze nieuwe app geen organisatiebrede Mail.Send- of Mail.Read-rechten bij API permissions. De mailboxrechten regelen we beperkt via Exchange hieronder. Een organisatiebrede toekenning zou die beperking omzeilen.
2. Beperk verzending tot Wendy’s mailbox
Voer dit eenmalig uit in PowerShell op je computer. Je hebt Exchange-beheerdersrechten nodig. Vul bij de twee prompts de hierboven genoteerde ID’s in. Dit script bevat geen wachtwoord of client secret.
Install-Module ExchangeOnlineManagement -Scope CurrentUser Import-Module ExchangeOnlineManagement Connect-ExchangeOnline $wenClientId = Read-Host 'Application (client) ID' $wenServiceId = Read-Host 'Object ID van de bedrijfstoepassing' New-ServicePrincipal -AppId $wenClientId -ObjectId $wenServiceId -DisplayName 'Weaves by Wen Mail' New-ManagementScope -Name 'WeavesByWenMailbox' -RecipientRestrictionFilter "PrimarySmtpAddress -eq 'wen@weavesbywen.nl'" New-ManagementRoleAssignment -Name 'WeavesByWenSend' -Role 'Application Mail.Send' -App $wenServiceId -CustomResourceScope 'WeavesByWenMailbox' Get-Recipient -RecipientPreviewFilter (Get-ManagementScope 'WeavesByWenMailbox').RecipientFilter | Select-Object DisplayName,PrimarySmtpAddress Test-ServicePrincipalAuthorization -Identity $wenServiceId -Resource 'wen@weavesbywen.nl'
De lijst moet uitsluitend Wendy’s mailbox bevatten. De test moet Application Mail.Send met InScope: True tonen. Test indien beschikbaar ook een andere mailbox: daarvoor moet InScope False zijn. Controleer daarnaast in Entra dat deze app geen organisatiebrede Mail.Send-toestemming heeft. De test controleert die aparte Entra-toekenningen niet.
Al eerder uitgevoerd? Maak geen extra toekenningen aan: controleer de bestaande configuratie. Nieuwe rechten kunnen 30 minuten tot 2 uur nodig hebben voordat Graph ze toepast.
3. Activeer en test
- Pas na de geslaagde controles: voeg
M365_SCOPE_VERIFIEDmet waardetruetoe in Sites Settings. - Laat de opgeslagen websiteversie opnieuw publiceren om de instellingen toe te passen. Meld in de chat: Microsoft-instellingen opgeslagen en mailboxbeperking gecontroleerd.
- Ga naar Beheer → Instellingen → Test Microsoft-aanmelding. Een geslaagde test bevestigt alleen dat de app kan aanmelden. Het bewijst nog geen verzendrechten.
- Controleer vóór de eerste echte bevestiging het salonadres in Instellingen. Verstuur vervolgens bewust één bericht via Beheer → Berichten, en controleer ontvangst én Verzonden items in Wendy’s mailbox.
Microsoft “geaccepteerd” is geen bewijs van aflevering. Bij een timeout of onzekere uitkomst blokkeert de website herhaling. Controleer dan Verzonden items en de berichttracering in Exchange. Nieuwe boekingen en annuleringen sturen automatisch een klantmail en een melding naar Wendy. Herinneringen worden voorlopig handmatig verstuurd; inloggen op Beheer verloopt voorlopig nog via ChatGPT.
Microsoft-documentatie: mailboxrechten met Application RBAC · mail versturen via Graph.