Obsah
Aplikace pro čtení mailů a jejich ukládání do ESO9
Konzolová aplikace v NET 8 pro načtení mailů z jedné schránky na Office 365 a jejich uložení do aplikace ESO9. Ke každému e-mailu se uloží i jeho přílohy do DMS pod zadaným typem dokumentu.
Aplikace je k dispozici na vyžádání.
Nastavení v Azure AD
Aplikace a přístupy se registrují a nastavují v Azure AD - registrované aplikace.
Oprávnění k mailové schránce
Otevři svou aplikaci na: 👉 https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps
Pak:
- Vyber aplikaci.
- Přejdi do sekce API permissions (Oprávnění k API).
- Podívej se, jestli je u Microsoft Graph oprávnění typu:
- Delegated – např. Mail.Read, Mail.ReadWrite → aplikace čte e-maily za přihlášeného uživatele
- Application – např. Mail.Read (Application) → aplikace čte e-maily všech uživatelů v tenantovi, pokud to povolíš administrátorsky
Seznam parametrů v souboru appsettings.json
- ConnectionString - připojovací řetězec k databázi ESO9
Seznam parametrů v aplikační databázi (skupina parametrů 'EmailReader')
- tenantId - ID tenanta v Microsoft Entra
- clientId - ID registrované aplikace v Microsoft Entra
- clientSecret - tajný klíč registrované aplikace v Microsoft Entra
- userName - uživatelské jméno (e-mail) schránky, ze které se budou číst maily. Může obsahovat jednu nebo více e-mailových adres oddělených středníkem (;).
- IdLogUser - ID uživatele v ESO9, pod kterým se budou ukládat e-maily a přílohy
- typDoc - ID typu dokumentu v ESO9, pod kterým se budou ukládat přílohy e-mailů
- extractExtensions - seznam přípon souborů, které se budou z e-mailu ukládat. Přípony mohou být bez teček, jednotlivé přípony oddělené „;“. Není-li vyplněno, ukládají se všechny přílohy.
Spuštění programu
Program se spouští z příkazové řádky. Při spuštění použije standardně soubor appsettings.json v aktuálním adresáři. Lze však zadat i jiný konfigurační soubor jako první parametr příkazové řádky, např.:
EmailReader.exe appsettings.config1.json EmailReader.exe appsettings.config2.json EmailReader.exe appsettings.config3.json
Jedna instance aplikace tak může zpracovávat více schránek pro více společností.
Zakládání e-mailů do aplikace ESO9
Zakládání e-mailů do aplikace ESO9 je realizováno stored procedurou spProcessEmail. Ve Start variantě procedura zakládá doklady typu POP (Pošta přijatá). Procedura umožňuje zpracovávat tyto části e-mailu:
- Předmět
- Odesilatel
- Příjemce
- Kopie příjemce
- Skrytá kopie příjemce
- Datum doručení
- Tělo
Procedura ukládá ID e-mailu z Office365 (MessageID) do položky TEXTPOZN v tabulce HDOK. Toto lze do budoucna zobecnit, tj. umožnit uložení vazebního ID a jeho zpětnou kontrolu kamkoli!
Výstupem procedury je ID právě založeného dokladu (IDHDOK), které se použije pro navázání příloh e-mailu založených do DMS.