Přeskočit obsah

E-mail Microsoft 365

Služba zasílání zpráv může odesílat e-mailová oznámení prostřednictvím Microsoft 365 (M365) pomocí rozhraní Microsoft Graph API.

Použijte tuto integraci, když mají být oznámení, upozornění nebo zprávy z LogMan.io odesílány z poštovní schránky v tenantovi Microsoft 365.

Služba zasílání zpráv podporuje dva režimy Microsoft 365:

  • Režim aplikace: služba zasílání zpráv odesílá e-mail jako aplikace.
  • Delegovaný režim: služba zasílání zpráv odesílá e-mail jménem přihlášeného uživatele Microsoft 365.

Předpoklady

Ujistěte se, že server LogMan.io má odchozí přístup přes HTTPS na TCP port 443 na:

  • graph.microsoft.com
  • login.microsoftonline.com

Je vyžadován přístup k Microsoft Entra ID s oprávněními k vytvoření nebo aktualizaci registrace aplikace a udělení souhlasu.

Režim aplikace

Režim aplikace používá oprávnění aplikace Microsoft Graph. Tento režim použijte, když by služba měla automaticky odesílat e-maily bez přihlášení uživatele.

Toto je doporučený režim pro oznámení o službách a automatizaci na pozadí.

Požadovaná konfigurační pole

Pole Popis
mode Nastaveno na app.
api_url Microsoft Graph send-mail endpoint. Use https://graph.microsoft.com/v1.0/users/{}/sendMail.
tenant_id ID adresáře (tenant) Microsoft Entra.
client_id ID aplikace (klienta) registrace aplikace.
client_secret Hodnota klientského tajemství z registrace aplikace.
user_email Poštovní schránka, ze které služba zasílání zpráv odesílá.

Ukázka konfigurace

Upravte soubor model.yaml pro konfiguraci služby asab-iris:

/Site/model.yaml
define:
  type: rc/model

services:
  asab-iris:
    instances:
      - node1
    asab:
      config:
        m365_email:
          mode: app
          api_url: https://graph.microsoft.com/v1.0/users/{}/sendMail
          tenant_id: "{{M365_TENANT_ID}}"
          client_id: "{{M365_CLIENT_ID}}"
          client_secret: "{{M365_CLIENT_SECRET}}"
          user_email: "noreply@example.com"

Konfigurace Azure

  1. Otevřete Microsoft Entra admin center.
  2. Přejděte na Aplikace > Registrace aplikací.
  3. Klikněte na Nová registrace.
  4. Zadejte popisný název, například LogMan.io Notifications Email.
  5. Vyberte Účty pouze v tomto organizačním adresáři.
  6. Pole Přesměrovací URI nechte prázdné.
  7. Klikněte na Registrovat.
  8. Na stránce Přehled zkopírujte:
  9. ID aplikace (klienta) do client_id
  10. ID adresáře (nájemce) do tenant_id
  11. Přejděte na Certifikáty a tajemství.
  12. Klikněte na Nové klientské tajemství.
  13. Zkopírujte hodnotu tajemství Value do client_secret.

Varování

Hodnota tajného klíče klienta je zobrazena pouze jednou. Uložte ji bezpečně, než stránku opustíte.

Oprávnění API

  1. Otevřete registraci aplikace.
  2. Přejděte na Oprávnění API.
  3. Klikněte na Přidat oprávnění.
  4. Vyberte Microsoft Graph.
  5. Vyberte Oprávnění aplikace.
  6. Přidejte Mail.Send.
  7. Klikněte na Poskytnout souhlas správce pro organizaci.

Doporučení ohledně bezpečnosti

Aplikace s oprávněním Mail.Send může umožnit odesílání e-mailů z libovolné schránky v tenantovi. Použijte zásadu přístupu aplikace Exchange Online (Exchange Online Application Access Policy) k omezení aplikace pouze na schránku nakonfigurovanou v user_email.

Použít konfiguraci

  1. Uložte tajné hodnoty do Vaultu nebo do úložiště tajemství nasazení používaného instalací LogMan.io.
  2. Aktualizujte /Site/model.yaml.
  3. Aplikujte model z Knihovny nebo spusťte příkaz pro aplikaci nasazení používaný instalací.
  4. Odešlete testovací oznámení a ověřte, že zpráva byla doručena z nakonfigurované schránky user_email.

Ověřte konfiguraci

Konfigurace režimu aplikace je připravena, když:

  • služba se spouští bez chyb konfigurace Microsoft 365
  • registrace aplikace má oprávnění aplikace Microsoft Graph Mail.Send
  • byl udělen souhlas správce
  • testovací e-mail je doručen z nakonfigurované schránky user_email
  • logy služby neobsahují chyby autentizace Microsoft Graph

Delegovaný režim

Delegovaný režim používá delegovaná oprávnění Microsoft Graph. Tento režim použijte, když musí komunikační služba odesílat e-maily jménem konkrétního uživatele Microsoft 365.

Delegovaný režim vyžaduje jednorázové povolení v prohlížeči. Uživatelem, který se přihlásí, musí být uživatel poštovní schránky nastavený v user_email, nebo uživatel, kterému Microsoft 365 umožňuje odesílat e-maily jako tato poštovní schránka.

Požadovaná konfigurační pole

Pole Popis
mode Nastaveno na delegované.
api_url Microsoft Graph send-mail endpoint. Use https://graph.microsoft.com/v1.0/users/{}/sendMail.
tenant_id ID adresáře (tenant) Microsoft Entra.
client_id ID aplikace (klienta) registrace aplikace.
client_secret Hodnota klientského tajemství z registrace aplikace.
user_email Poštovní schránka, ze které služba zasílání zpráv odesílá.
redirect_uri Veřejná URL zpětného volání autorizace končící na /authorize_ms365.

Vzor konfigurace

/Site/model.yaml
define:
  type: rc/model

services:
  asab-iris:
    instances:
      - node1
    asab:
      config:
        m365_email:
          mode: delegated
          api_url: https://graph.microsoft.com/v1.0/users/{}/sendMail
          tenant_id: "{{M365_TENANT_ID}}"
          client_id: "{{M365_CLIENT_ID}}"
          client_secret: "{{M365_CLIENT_SECRET}}"
          user_email: "notifications@example.com"
          redirect_uri: "https://logman.example.com/api/asab-iris/authorize_ms365"

URL authorize_ms365

URL authorize_ms365 spouští přihlašovací proces Microsoftu pro delegovaný režim.

Otevřete tuto URL v prohlížeči poté, co je nakonfigurován delegovaný režim. Služba přesměruje prohlížeč na přihlášení Microsoft. Po úspěšném přihlášení Microsoft přesměruje zpět na stejný koncový bod služby a služba uloží delegované oprávnění pro budoucí e-maily.

Jak sestavit URL

Sestavte URL z veřejně dostupné adresy služby přístupné z prohlížeče:

<public service base URL>/authorize_ms365

Pokud je služba zpřístupněna za reverzní proxy s předponou cesty, zahrňte předponu:

https://logman.example.com/api/asab-iris/authorize_ms365

Hodnota musí být nastavena na dvou místech:

  1. V registraci aplikace Microsoft Entra ID jako URI pro přesměrování.
  2. V konfiguračním poli m365_email.redirect_uri.

Nebezpečí

Přesměrovací URI v Microsoft Entra ID a hodnota redirect_uri v m365_email.redirect_uri se musí přesně shodovat, včetně https, hostitele, portu a cesty.

Konfigurace Azure

  1. Otevřete Microsoft Entra admin center.
  2. Přejděte na Applications > App registrations.
  3. Vytvořte novou registraci aplikace nebo otevřete registraci aplikace používanou pro zasílání zpráv a oznámení.
  4. Zkopírujte Application (client) ID do client_id.
  5. Zkopírujte Directory (tenant) ID do tenant_id.
  6. Přejděte na Authentication.
  7. Přidejte platformu pro Web.
  8. Přidejte přesný redirect_uri, například https://logman.example.com/api/asab-iris/authorize_ms365.
  9. Přejděte na Certificates & secrets a vytvořte klientské tajemství.
  10. Zkopírujte Value tajemství do client_secret.

Oprávnění API

  1. Otevřete registraci aplikace.
  2. Přejděte na Oprávnění API.
  3. Klikněte na Přidat oprávnění.
  4. Vyberte Microsoft Graph.
  5. Vyberte Delegovaná oprávnění.
  6. Přidejte Mail.Send.
  7. Udělte souhlas správce, pokud to organizace vyžaduje.

Autorizovat delegované odesílání

  1. Nakonfigurujte m365_email s mode: delegated.
  2. Aplikujte model LogMan.io.
  3. Otevřete veřejnou URL authorize_ms365 v prohlížeči.
  4. Přihlaste se pomocí uživatele Microsoft 365, který má odesílat e-maily.
  5. Po zobrazení zprávy o úspěchu zavřete okno prohlížeče.
  6. Odešlete testovací oznámení.

Pokud chybí autorizace, služba vrátí chybu obsahující authorize_url. Otevřete tuto URL v prohlížeči a dokončete přihlášení.

Ověřte konfiguraci

Konfigurace delegovaného režimu je připravena, když:

  • služba se spouští bez chyb konfigurace Microsoft 365
  • registrace aplikace má delegované oprávnění Microsoft Graph Mail.Send
  • redirect_uri odpovídá URI přesměrování v Microsoft Entra ID
  • otevření authorize_ms365 se dokončí s úspěšnou zprávou

Šablony e-mailů

E-mailové šablony musí být uloženy v adresáři /Templates/Email/ v Knihovně.

E-mail MS365 podporuje přílohy. Služba je odesílá jako přílohy souborů Microsoft Graph.

Pro více informací o e-mailových oznámeních a šablonách viz: