Šios instrukcijos aktualios tuomet, kai elektroniniai laiškai iš Rivile GAMA siunčiami tiesiogiai per pašto serverį, jungiantis per "Microsoft 365" (Microsoft Graph API).
Užregistruojame naują aplikaciją, skirtą laiškų siuntimui (“App registrations” -> “New registration”).

Atidarius aplikaciją, matoma informacija reikalinga MS365_INIT funkcijai: Client ID ir Tenant ID.

Aplikacijos registracijos metu nenurodžius, reikia nurodyti patvirtinimo gavimo nuorodos adresą.
Į šį adresą po patvirtinimo bus grąžintas leidimas siųsti el. laiškus. Standartiškai reikia nurodyti (Authentication): http://localhost:55110/



Reikia įkelti naudojamą sertifikatą. Leidimas siųsti laiškus galios tiek, kiek galios sertifikatas. Maksimalus terminas 10 metų.
Įkėlus sertifikatą galima matyti šio sertifikato antspaudą (Thumbprint), kuris naudojamas kaip parametras MS365_INIT funkcijoje.
Norint MS365_INIT funkcijoje naudoti tik antspaudą, nenurodžius sertifikato failo ir slaptažodžio, šį sertifikatą reikia įkelti į „Windows Certificate Store“. Tuomet galima naudoti tik antspaudą (Thumbprint).
Aplikacijai reikalingi leidimai priklauso nuo pasirinkto prisijungimo tipo (žr. MS365_INIT).
| Prisijungimo tipas | Leidimas | Leidimo tipas | Administratoriaus sutikimas (Grant admin consent) |
|---|---|---|---|
| Auth_Code | Mail.Send, offline_access | Delegated (deleguotasis) | Nebūtinas. Sutikimą pirmo prisijungimo metu duoda pats vartotojas |
| Cred_Secret | Mail.Send | Application (programos) | Būtinas |
| Cred_Cert | Mail.Send | Application (programos) | Būtinas |
Naudojant Auth_Code, laiškai siunčiami prisijungusio vartotojo vardu ir tik iš jo pašto dėžutės. Naudojant Cred_Secret arba Cred_Cert, aplikacija veikia be vartotojo, todėl Application tipo leidimas Mail.Send standartiškai leidžia siųsti iš bet kurios organizacijos pašto dėžutės. Kaip tai apriboti, aprašyta kitame skyriuje.
Rekomenduojama Application tipo leidimą apriboti taip, kad aplikacija galėtų siųsti tik iš tam skirtos pašto dėžutės (pvz., bendros dėžutės info@imone.lt).
Apribojimas nustatomas Exchange Online pusėje, Microsoft priemonėmis:
New-ApplicationAccessPolicy -AppId <Client ID> -PolicyScopeGroupId <grupės el. pašto adresas> -AccessRight RestrictAccess -Description "Rivile GAMA laiškų siuntimas tik iš nurodytos dėžutės"
Test-ApplicationAccessPolicy -AppId <Client ID> -Identity vartotojas@imone.lt
Politika pradeda veikti ne iš karto, tai gali užtrukti iki valandos. Pabandžius siųsti iš neleistos dėžutės, Microsoft Graph grąžins HTTP 403 klaidos kodą.
Rivile GAMA pusėje siuntimo dėžutė nurodoma parametre SS_SMTP_VART.
Microsoft leidžia: Secret raktui iki 2 metų, sertifikatui iki 10 metų. Tai yra maksimalios ribos, o ne rekomendacija. Konkretų galiojimo terminą įmonė renkasi pagal savo saugumo politiką. Dažna praktika: nuo 6 mėnesių iki 2 metų.
Keitimo (rotacijos) eiga, kurią galima atlikti be siuntimo pertraukos:
Rekomenduojama Entra portale stebėti galiojimo pabaigos datas ir keitimą suplanuoti iš anksto. Pasibaigus galiojimui laiškų siuntimas nustoja veikti.
Informacija saugos auditui:
login.microsoftonline.com (autentifikacija) ir graph.microsoft.com (siuntimas). Naudojamas HTTPS.tlnTokenStorage: „Windows Credential Manager“ saugykloje darbo vietoje arba Rivile GAMA duomenų bazėje. Raktų galima nesaugoti, tuomet vartotojas jungiasi kiekvieno seanso metu.