Interaktiv guide

Din installation, förifylld

Skriv in dina värden en gång så skriver varje kommando nedan om sig självt — appnamnet, åtkomstprincipen, verifieringstesterna och testmeddelandet före start. Kopiera varje block rakt in i PowerShell.

Dina sju värden

Värdena rensas om 15:00

Värden som ditt Matomo körs på. Det används för att härleda Entra-appens namn och hemlighetens beskrivning.

Från översiktssidan för din appregistrering. En identifierare, inte en hemlighet.

Från samma översiktssida.

Kolumnen Value, som visas en enda gång när hemligheten skapas — inte Secret ID. Används bara i startblocket nedan och förekommer aldrig i sammanfattningen.

Den delade brevlåda som Matomo skickar som.

Din tenants inbyggda domän — förifylld från avsändaradressen; ändra den om din ser annorlunda ut.

Kontot du använder på admin.microsoft.com — ofta ett admin@…onmicrosoft.com-konto, inte din dagliga e-postadress.

Härledda namn

Namn på Entra-appen
missivus-matomo-analytics.example.com
Beskrivning av klienthemligheten
missivus-matomo-analytics.example.com
Säkerhetsgruppens adress
noreply-apps@yourcompany.onmicrosoft.com

Installera modulen och logga in

Ett webbläsarfönster öppnas; logga in med administratörskontot. Windows har PowerShell inbyggt; på macOS kör du `brew install --cask powershell` och sedan `pwsh`.

Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline -UserPrincipalName {{admin}}

Skapa gruppen

Dess enda medlem är din delade brevlåda. Notera den PrimarySmtpAddress som PowerShell skriver ut — den ligger vanligtvis på tenantens inbyggda domän, och det är precis vad nästa kommando behöver.

New-DistributionGroup -Name "NoReply Apps" -Alias noreply-apps -Type Security -Members "{{sender}}"

Lås appen till gruppen

En enda rad. Det här är steget som förvandlar "en app som skulle kunna skicka som vem som helst" till "en app som kan skicka som exakt en adress".

New-ApplicationAccessPolicy -AppId "{{clientId}}" -PolicyScopeGroupId "{{group}}" -AccessRight RestrictAccess -Description "Missivus (Matomo) may only send as {{sender}}"

Verifiera — vänta 5 minuter först

Den första raden måste visa AccessCheckResult Granted, den andra måste visa Denied. Den andra raden använder en platshållare — byt ut den mot vilken annan verklig brevlåda som helst i din tenant, din egen adress duger. Gå inte vidare förrän det står Denied.

Test-ApplicationAccessPolicy -Identity "{{sender}}" -AppId "{{clientId}}"
Test-ApplicationAccessPolicy -Identity "{{other}}" -AppId "{{clientId}}"

Före start, skicka ett verkligt meddelande från PowerShell

Valfritt men starkt rekommenderat — det bevisar tenant, app, hemlighet och princip hela vägen innan Matomo är inblandat. Om den första delen skriver ut 20 tecken fungerar autentiseringen. StatusCode 202 plus ett meddelande i din inkorg betyder att Microsoft-sidan är klar. Byt ut platshållaren för mottagare mot din egen inkorg.

$TenantId = "{{tenantId}}"
$ClientId = "{{clientId}}"
$Secret   = "{{secret}}"

$tok = Invoke-RestMethod -Method Post -Uri "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token" -Body @{ client_id=$ClientId; client_secret=$Secret; scope="https://graph.microsoft.com/.default"; grant_type="client_credentials" }
$tok.access_token.Substring(0,20)
$body = '{"message":{"subject":"Missivus pre-flight","body":{"contentType":"Text","content":"Graph app-only send OK"},"toRecipients":[{"emailAddress":{"address":"{{other}}"}}]},"saveToSentItems":false}'
Invoke-WebRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/users/{{sender}}/sendMail" -Headers @{ Authorization = "Bearer $($tok.access_token)" } -ContentType "application/json" -Body $body | Select-Object StatusCode

Städa upp och logga ut

Hemligheten skrevs in i det här fönstret, så rensa den och stäng sedan PowerShell.

Remove-Variable Secret,tok,body
Disconnect-ExchangeOnline

Till din lösenordshanterare

Kopiera det här blocket till anteckningarna i en post i lösenordshanteraren. Det innehåller de identifierare du vill ha när hemligheten ska roteras — hemligheten själv finns medvetet inte med.

{{summaryAppName}}: {{appName}}
{{summaryTenantId}}: {{tenantId}}
{{summaryClientId}}: {{clientId}}
{{summaryGroup}}: {{group}}
{{summarySender}}: {{sender}}

{{summaryExpiry}}

Avsluta sedan i Matomo

Ange tenant-ID, klient-ID, hemlighet och avsändare under Administration → System → General settings → Missivus, kryssa i "Send email through Microsoft Graph", spara och tryck på "Send test email".

Referens för pluginets konfiguration