====== 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 [[https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade/quickStartType~/null/sourceType/Microsoft_AAD_IAM|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.