Aide · silicon ioi

Integratie van Microsoft 365-mailservices in ioi

Fiche

Inleiding #

Deze handleiding beschrijft hoe je de integratie configureert tussen Microsoft 365 (Outlook) mailservices en het Frappe-mailsysteem.

Authenticatie wordt beheerd via de OAuth 2.0-standaard.

Vereisten #

  1. Frappe-versie: Zorg ervoor dat je Frappe-instantie is bijgewerkt naar minimaal versie 15 (bij voorkeur de nieuwste versie).
  2. Toegang tot HTTPS-site: Je moet toegang hebben tot een Silicon ioi-site die het HTTPS-protocol gebruikt.
  3. Microsoft 365 Global Admin-account: Een Microsoft 365-account met globale beheerdersrechten is vereist.

Compatibiliteit #

Deze methode is getest en gevalideerd met Frappe versie 15 op 30 augustus 2024.

Stapsgewijze handleiding #

Volg de stappen die worden beschreven op het Frappe-forum via deze link of raadpleeg de instructies.

→ Bekijk ook de extra configuratiepunten beschreven in de sectie Additional Configurations.

Azure Admin Portal #

Maak in Azure AD een App-registratie aan en configureer machtigingen, secrets, enz.

Attention

Houd er rekening mee dat deze configuratie gevolgen kan hebben voor de gegevensbeveiliging.

Applicatieregistratie #

  1. Ga naar het Azure Admin-portaal:
  1. App-registraties.
  1. Maak een nieuwe registratie aan.

Info

Negeer de redirect-URI voor nu; deze wordt later in dit document geconfigureerd.

  1. Machtigingen.

SMTP-standaardmodus: Voeg machtigingen toe aan de applicatie.

Exemple

Vereiste machtigingen zijn:

- Microsoft Graph: IMAP.AccessAsUser.All en SMTP.Send- Office365 Exchange Online: IMAP.AccessAsApp

MS Graph-modus:

Exemple

Na het configureren van de machtigingen, selecteer ze en geef admin-toestemming.

  1. Voer de Client-ID van de applicatie in Silicon ioi in.
  1. Maak je authenticatiesleutels (secrets) aan.

Attention

Sla de secret value op (niet de secret ID). Deze wordt na deze stap niet meer weergegeven, dus zorg ervoor dat je deze bewaart voor later gebruik. We zullen deze later gebruiken.

  1. Verkrijg het OpenID-configuratie-eindpunt, dat in latere stappen nodig is.

In Silicon ioi #

Attention

Open een privévenster, incognitomodus of InPrivate-modus.

  1. Maak een connected application aan.
  2. Kopieer de eerder verkregen OpenID-configuratiewaarde (.7) en gebruik de knop Fetch OpenID Configuration om de endpoint-URL’s op te halen. Vul vervolgens de Client ID (.5) en secret value (.6) in.

  1. Connected App Scopes.

SMTP / IMAP-modus: Voeg de volgende scopes toe:

MS Graph-modus: Voeg de volgende scopes toe:

  1. Redirect URI

  1. Gebruik de waarde van de redirect URI (.4) en ga terug naar de M365-appregistratie om deze URL toe te voegen onder authenticatie.
  1. Verbinden van de applicatie in Silicon ioi:

→ Klik in de nieuwe Connected app op Connect to XXXX.

Attention

Je moet verbinding maken met de domein 365 “Admin”-gebruiker, meestal dezelfde gebruiker die is gebruikt voor het configureren van Azure Portal.

  1. Maak een e-mailaccount aan en wijs dit toe aan de “eindgebruiker”.

Attention

Sluit alle open browsers en open daarna de pagina opnieuw in een privévenster.\nMeld u vervolgens aan in IOI met de IOI-gebruiker, voor wie het e-mailadres hier geconfigureerd zal worden. 

Configureer het account met de volgende gegevens:

SMTP-IMAP-modus:

Maak een maildomein aan en configureer vervolgens het e-mailaccount.

Configuratie e-mailaccount (SMTP – IMAP-modus)

(MS Graph-modus)

Accountaanmaak met alleen deze gegevens.

Exemple

Na het opslaan van het document zou je een wijziging moeten zien in de titels van de secties Inkomend en Uitgaand, met de vermelding “(MS Graph)”.

Attention

Gebruik de knop “Authorize API Access” nadat je bent ingelogd in Frappe met de “eindgebruiker” die aan dit account is gekoppeld (niet de admin). De authenticatie van de gekoppelde 365-gebruiker is hier ook vereist.

MS Graph-modus:

De MS Graph-modus is geïntegreerd in de standaard e-mailmodule van Frappe en ondersteunt zowel het verzenden als ontvangen van e-mails.

Voor het ontvangen van e-mails worden zowel de modi “ALL” als “UNSEEN” ondersteund:

ALL → Importeert alle e-mails (tot aan het aantal berichten gedefinieerd in Initial Sync Count).

Voor elk account wordt er een nieuw record aangemaakt in de doctype ioi Email Pull Request met de datum van de laatste synchronisatie (laatst ontvangen e-mail).

Info

Er is ook een extra controle ingebouwd om duplicaten te voorkomen met behulp van het unieke e-mail-ID.

UNSEEN → Importeert alleen ongelezen e-mails en markeert deze als gelezen zodra ze zijn geïmporteerd. Als een e-mail opnieuw als ongelezen wordt gemarkeerd, zal deze opnieuw worden geïmporteerd.

Elke ontvangen e-mail genereert een document in de doctype “Communication”.

Info

Geef in de tabel “IMAP Folder” aan welke e-mailmap moet worden gescand. Als het veld “Append To” leeg wordt gelaten, wordt alleen een Communication aangemaakt. Je kunt een andere doctype toewijzen om zowel een Communication als een specifiek documenttype aan te maken.

Aanvullende configuraties #

Toevoegen van een geautoriseerde API: SMTP.SendAsApp #

  1. Ga naar Azure Active Directory.
  2. Voeg een nieuwe machtiging toe.
  3. Selecteer APIs used by my organization.
  4. Zoek naar “Office 365 Exchange Online”.
  5. Selecteer Application Permission.
  6. Kies de machtiging SMTP.SendAsApp.

Uitschakelen van “Turn off AUTH SMTP Protocol” #

→ In Microsoft 365: https://admin.exchange.microsoft.com/#/settings

→ In Frappe:

Fout 500: Repeating Redirects Detected Outlook Online Microsoft 365 #

Als je een 500-fout krijgt bij het verbinden met https://outlook.office365.com via je browser:

Astuce

Bekijk deze video.

Of volg deze stappen:

  1. Ga naar Azure Active Directory.
  2. Selecteer de administrator-gebruiker van je applicatie.
  3. Behoud alleen de rol “Global Administrator”.
  4. Vernieuw de pagina https://outlook.office365.com.

Multi-Address Configuratie #

Je kunt meerdere e-mailadressen koppelen aan één gebruiker.

Er is echter slechts één Microsoft 365-verbinding toegestaan per gebruikerssessie.

Info

Daarom kun je niet gelijktijdig de e-mailstroom van twee adressen bekijken, vanwege token-cacheconflicten.

Bijlagen #

Bijlagen worden ondersteund voor zowel het verzenden als ontvangen van e-mails.

Voor ontvangen e-mails is het mogelijk om een maximale toegestane grootte voor bijlagen in te stellen.