První pohled: jak funguje nový firemní e-mailový systém Mailion od MůjKancelář

První pohled: jak funguje nový firemní e-mailový systém Mailion od MůjKancelář

Před téměř čtyřmi lety jsme začali navrhovat zcela nový distribuovaný poštovní systém Mailion, který je určen pro firemní komunikaci. Naše řešení je postaveno na architektuře mikroslužeb Cloud Native, je schopné pracovat s více než 1 000 000 uživateli současně a bude připraveno pokrýt 100 % potřeb velkých korporací.

Během práce na Mailion se tým několikrát rozrostl a nyní se na produktu podílí téměř 70 vývojářů. Ušli jsme dlouhou cestu od nápadu a prvních prototypů až po fázi pilotního nasazení komerční verze. Nastal čas podělit se s Habr o to, jaký produkt vytváříme, jak je naše poštovní systém uspořádán a jak funguje, jaký technologický stack používáme a proč je naše řešení budoucností firemní komunikace. Jdeme na to!

Habr, zdravím! Jmenuji se Anton Gerasimov a vedu oddělení vývoje v moskevském vývojovém centru společnosti MůjOfis. Dnes chceme představit Mailion — zcela nový ruský poštovní systém korporátní třídy, který se stane důstojnou alternativou populárních zahraničních řešení. Mailion má vysokou zátěžovou kapacitu, bezprecedentní možnosti škálování a odolnosti proti selhání, a také vyžaduje minimální pozornost ze strany administrátorů systému.

V současné době se naše vývoj nachází ve fázi beta verze, ale velmi brzy, podle našeho plánu do konce roku 2020, přejde do fáze pilotního nasazení komerčního produktu.

Tento článek obsahuje převážně obecné informace — popsat složitý softwarový produkt v jednom publikaci je jednoduše nemožné. Plánuji vytvořit sérii článků s popisem klíčových technologií. A zatím pro vaše pohodlí nabízím následující obsah:

Co je to firemní poštovní systém?

Jednoduchá a zřejmá odpověď na tuto otázku je nástroj pro práci s e-mailem a kalendářem. Ale jak je známo, ďábel se skrývá v detailech.

Takže vytváříme e-mail nové generace s rozšířenými funkcemi plánování kalendáře, který je zaměřen na korporátní segment a velké společnosti. Zaměřujeme se na spolupráci s velkými obchodními a vládními strukturami, kde může být od 30 tisíc až několik set tisíc pracovních míst.

Naší systém spočívá na principu platformového řešení. Vycházíme z konceptu Unified Communications a nabízíme jediné nástroje pro práci s e-mailem, kalendářem a dokumenty v rámci jedné systému, s možností rozšiřování funkčnosti řešení připojením dalších modulů a komponentů. Rozšíření, jak se říká, mohou být vyvinuta nejen námi, ale i našimi partnery. Pro tento účel bude publikován dostatečně široký nástroj SDK.

Komu a proč je potřeba další pošta?

Velký podnik vytvořil zajímavý trend — podniky pociťují potřebu funkcí pro spolupráci. Nejde jen o bezprostřední interakci zaměstnanců prostřednictvím přeposílání čehokoli, ale především o společný přístup k e-mailovým a rolovým schránkám, možnost práce s velkými skupinami účastníků a přítomnost různých firemních funkcí.

Typická korporátní funkce — mechanismus odvolání e-mailů, který je velmi žádaný ve velkých společnostech, ale vůbec se nepoužívá ani v B2C segmentu, ani v malém podnikání. To je dané tím, že mezi malými skupinami uživatelů je pravděpodobnost vzniku takové potřeby poměrně malá, a cena chyby je mnohem menší. Navíc realizovat tuto funkci mimo firemní e-mailový systém je prostě nemožné — ani v Gmailu není odvolání e-mailů v té podobě, na kterou jsou uživatelé Exchange zvyklí. Kořen problému spočívá v konstrukci e-mailových protokolů z 80. let minulého století.

Provedli jsme desítky fokusních skupin, oslovili jsme stovky uživatelů a strávili jsme několik tisíc člověkohodin identifikováním typických scénářů využití e-mailu. To nám umožnilo důkladně prozkoumat potřeby našich potenciálních uživatelů a rysy jejich obchodních procesů. Na základě získaných dat jsme se rozhodli vyvinout architekturu, která by v případě potřeby umožnila škálování na požadovaný objem zatížení. V našem pojetí limit vůbec neexistuje, ale v současné době chápeme, jak zabezpečit provoz firem, ve kterých pracuje několik set tisíc uživatelů.

Co se skrývá pod kapotou

První pohled: jak funguje nový firemní e-mailový systém Mailion od MůjKancelář

Součástí našeho produktu je e-mailové řešení, nástroj pro plánování kalendáře, adresář a také interaktivní prohlížení dokumentů na základě našeho vlastního řešení MojeKancelář pro práci s dokumenty.

Jelikož se bavíme o řešení na podnikové úrovni, neodmyslitelnou součástí podnikové pošty je také plnohodnotný vyhledávací systém. Naše řešení je schopno provádět průřezový morfologický vyhledávání ve všech komponentách. Kromě toho je celý e-mailový systém založen na vlastním úložišti, které je také optimalizováno pro spolupráci.

Jaké jsou rozdíly mezi e-mailovými systémy MojeKancelář

Čtenář Habr, který již měl zkušenosti s řešeními MojeKancelář, ví, že v rámci komerčních produktů je obsažena "MojeKancelář Pošta". A vyvstává otázka — v čem se liší od firemního e-mailového systému Mailion, na kterém pracoval můj tým?

V MojeKancelář jsme se rozhodli, že pro uspokojení potřeb firem různých velikostí je nutné vytvořit dva e-mailové systémy podnikové třídy. Produkt "MojeKancelář Pošta" je určen pro organizace, kde počet uživatelů se počítá na tisíce nebo na několik desítek tisíc. Pro větší struktury je vhodnější používat Mailion — nový produkt MojeKancelář, který je postaven na Cloud Native mikroservisní architektuře, má bezprecedentní možnosti škálování a odolnosti vůči výpadkům.

Při výběru produktů musejí zákazníci předem určit strategii dalšího rozvoje své společnosti. Pro jakoukoli organizaci je zavedení poštovního systému složitý projekt, který nepředpokládá rychlou výměnu jednoho řešení za druhé. Proto je dobré předem zohlednit maximální možné zatížení, kritéria odolnosti proti výpadkům a samorestauraci, stejně jako faktor geografického rozložení.

Dva poštovní systémy MojaKancelář jsou zásadně odlišné. Byly postaveny s použitím různých technologických stacků a nástroje pro každý z těchto systémů jsou vybírány v souladu s cíli a úkoly daného segmentu, ve kterém bude poštovní systém nasazen. Máme společnou produktovou vizi toho, co by mělo být v poštovních systémech přítomno, a také synchronizaci v přístupech k designu. Ale jedná se o dva produkty, které jsou určeny pro různá publika uživatelů.

Jaké výzvy stojí před vývojáři

Dále v textu budu hovořit pouze o novém firemním poštovním systému Mailion.

Provedli jsme důkladný výzkum a analyzovali jsme výhody a nevýhody stávajících poštovních řešení. Získané zkušenosti našich specialistů, kteří v minulosti měli přímou účast na vytváření vysoce zatížených systémů, nám umožnily rychle identifikovat hlavní bolestivý bod jakéhokoli známého produktu – výkon diskových operací vstupu a výstupu (IO).

Lze říci, že úkol urychlení IO operací se stal hlavní výzvou, kterou jsme čelili. Bylo nutné soustředit se na řešení našich konkrétních úkolů a začali jsme vytvářet a rozvíjet vlastní systém pro uchovávání binárních dat. Tento přístup má zcela zřejmou ekonomickou stránku – potřebujeme nejen uchovávat data, ale také provádět dostatek operací diskového vstupu a výstupu.

Toto řešení nebylo snadné. Prozkoumali jsme řadu produktů podnikové úrovně zaměřených na ukládání informací a nebyli jsme schopni najít žádné hotové a vhodné pro naše požadavky. Potřebujeme nejen ukládat data, ale také s nimi neustále pracovat, přičemž to nesmí být jen v monopolním režimu s přístupem jednoho uživatele, ale musí být zabezpečena možnost spolupráce několika desítek tisíc uživatelů.
Určili jsme, že nejdůležitějším podnikatelským kritériem pro nás je práce s velkými objemy dat.

Spolehlivost

Nejde přitom tolik o otázku ukládání, ale o úkol zpracování a rychlého přístupu k těmto informacím. Je třeba zajistit vysoké ukazatele spolehlivosti — doba nepřetržitého provozu celého řešení by měla být na úrovni 99,9 %. Přitom by měl být poštovní systém autonomní při přijímání správných rozhodnutí o zpracování výpadků. Jen tak lze dosáhnout absence výpadků, které by mohly paralyzovat obchodní procesy dané společnosti.

Odolnost proti výpadkům

Vypracovali jsme soubor opatření, která se používají pro každou komponentu, a vybrali přístupy pro zajištění odolnosti vůči výpadkům. Konkrétně v podnikovém poštovním systému se používá kvorumová práce s daty, zálohování služeb a kontrola jejich stavů, stejně jako vlastní mechanismy směrování a podpory kvorum na základě konsensu.

Kritériem vysoké odolnosti vůči výpadkům je přítomnost mechanismů pro sebekontrolu v každé komponentě. Mailion neustále analyzuje, zda je určité funkce prováděna správně, zda správně funguje daný blok. To je jeden z prostředků pro sebesanavování systému v případě selhání. Informace by neměly být ztraceny, řešení by mělo být nakonec uvedeno do konzistentního stavu.

Je důležité chápat, že předpokládat všechny možné události v životě není možné — fyziku nelze oklamat. Ale držíme se takových přístupů k návrhu, které nám umožňují s dostatečně vysokou mírou jistoty tvrdit, že správná reakce na určité vzory havárií bude probíhat správně. Také máme velkou testovací skupinu, která stále zkouší něco v produktu rozbít. A občas se jim to podaří. V takovém případě se zakládá incident, který podrobně zkoumáme a na jeho základě vytváříme nový mechanismus pro odstranění podobných problémů.

Jak systém reaguje na havárie

Trh se často ptá — co se stane se systémem, pokud náhle ztratí spojení s jedním z jeho uzlů? Tento dotaz je zvlášť relevantní, pokud se plánuje zavést geograficky distribuované řešení.

Při návrhu takové instalace je třeba vzít v úvahu potřeby zákazníka a jeho sadu kritérií spolehlivosti. Je mylné předpokládat, že připojení k datové síti je všude stejné. V korporátních systémech je důležité zohlednit i rychlost, s jakou signál prochází optickým vláknem.

Pokud zákazník klade vysoké nároky na spolehlivost, doporučíme instalaci ve více datových centrech, která budou propojena vyhrazenými linkami.
Nicméně nelze vyloučit ani scénář úplného výpadku elektřiny v jednom z uzlů poštovního systému. V takovém případě dojde k přerušení práce s hlavními daty tohoto segmentu, ale ostatní části budou fungovat, jako by se nic nestalo. Systém upozorní administrátory na ztrátu uzlu a zaměstnanci budou muset podniknout řadu příslušných kroků.

Naši poštovní systém lze také nastavit tak, aby došlo k zálohování uvnitř datového centra. Tento přístup zajistí funkčnost při ztrátě několika uzlů uvnitř datového centra, přičemž ztráta jednoho z uzlů si nikdo nevšimne — kromě samozřejmě systému monitorování. Při vzniku takové události se zátěž jednoduše převedeme. Proto je při návrhu poštovního systému důležité vzít v úvahu rezervu — kolik a jakých komponent bude možné "ztratit" při havárii.

Nezávislost

Naprostě spolehlivé systémy neexistují a selhání se mohou přihodit. Proto je při návrhu poštovního systému důležité zajistit rychlou lokalizaci poruch, která umožní jejich odstranění v určitém SLA období. Poruchy by měly být odstraněny systémem automaticky, čímž se minimalizuje zásah systémových administrátorů a provozních služeb.

Jednoduchost provozu

Samozřejmě, velké systémy si nemohou zcela vyžádat pozornost vysoce kvalifikovaných zaměstnanců. Ale jedním z aspektů, které zvažujeme při návrhu, je, že systém by měl být snadno spravovatelný a neměl by vyžadovat žádné jedinečné kompetence.

Ekonomická efektivita

Bezpochyby je pro práci s jakýmikoli podobnými korporátními systémy zapotřebí školení zaměstnanců — mluvíme totiž o opravdu obrovských rozsazích. Proto jsme při vytváření našeho produktu zaměřili na snížení celkových nákladů na vlastnictví systému. Pro každou firmu je důležité sledovat efektivitu výdajů a snažit se vyhnout nekonečnému nalévání peněz do provozních nákladů.

Decentralizovanost

Abychom zajistili principy, o kterých jsem mluvil dříve, je nutné, aby byl systém plně distribuovaný — centralizovaný přístup je vždy omezen podmínkami použití hardware.

Samozřejmě, můžete si koupit jeden velký server a pokusit se na něj nainstalovat všechny aplikace a služby. Ale čím větší je systém, tím složitější je celá konstrukce, a spolehlivost takového systému neustále klesá — vždyť jeden server znamená také jednu jedinou bod selhání. A čím více centralizujeme provoz, tím více jsme závislí na této centrální bodu.

Systémové požadavky

Když hovoříme o složitých korporátních poštovních systémech, musíme chápat, že neexistuje pojem jako „minimální konfigurace pro fungování“. Na základě jakýchkoli velkých implementací vždy leží vážná projektová práce. Ta umožňuje sladit potřeby konkrétního podnikání s optimální konfigurací poštovního systému.

Korporátní e-mailový systém je flexibilní nástroj, který lze přizpůsobit na základě mnoha parametrů. Provádíme zátěžové testování podle naší vlastní metodiky, která umožňuje modelovat zátěž na základě analýzy desítky základních a několika stovek možných kritérií.

Lze říci, že při přípravě projektu zavedení právě výpočty ukážou intenzitu práce uživatelů v existujících podnikových procesech organizace. Při tom se analyzuje mnoho vstupních parametrů, a v závislosti na možné zátěži se rozhoduje o potřebném objemu výpočetních zdrojů — od jednoho počítače až po celé strojové haly.

Proto hovořit o nějakých minimálních konfiguracích — není zcela správné. Konkrétně máme i demonstrační stojan, který funguje na jedné jediné mašině. Ale chápeme, že práce v korporátním segmentu vyžaduje instalaci na desítkách, ba dokonce stovkách virtuálních strojů.

Technologický stack

Při vytváření produktů věnujeme zvláštní pozornost licenční čistotě kódu. V MůjOffice jsou nastaveny a platí vysoké standardy kvality, které vyžadují, abychom produkty vyvíjeli kompletně samostatně, s minimálním zapojením externího kódu.

Velká část kódu Mailion je vlastní vývoj, kód, jehož práva plně patří nám a který můžeme upravovat a vylepšovat podle potřeby. Většina kódu našeho e-mailového systému je napsána samostatně v Go (Golang). Kromě Go používáme také C++ a Java Script ES6 pro webovou část.

Zbývajících 5% představují tzv. "těžké komponenty", jako jsou databáze. Mezi ně patří RethinkDB, ArangoDB a Redis. Z klíčových technologií také zdůrazním gRPC — systém vzdáleného volání procedur, který se používá jako jediný mechanismus pro interakci prostřednictvím API, to je důležitá část.

Z čeho se produkt skládá

Korporátní e-mailový systém není "server v prázdnu". Naše produkt obsahuje přibližně 70 komponentů a 45 služeb, které se zabývají údržbou e-mailového systému. Všechny tyto prvky byly napsány "od nuly" a jsou vlastním vývojem MůjOffice.

Nejvýraznější součástí systému je serverový komplex, který zajišťuje provoz úložiště, e-mailového, kalendářního a vyhledávacího systému a webového klienta. Vyvíjíme také několik uživatelských aplikací a plánujeme nabídnout našim uživatelům nové "tenké klienty" založené na technologiích našeho webového klienta v době komerčního vydání.

Kompatibilita s poštovními systémy

Mailion funguje na základě standardních protokolů. Abyste mohli naše řešení začít používat, stačí nakonfigurovat klientské aplikace a poté s nimi pracovat v obvyklém prostředí. Například lze použít klientskou aplikaci zahrnutou v produktu „MůjOffice Pošta“.

Také pro pohodlí našich uživatelů jsme vytvořili speciální plugin, který zajišťuje bezproblémový přechod z Exchange. S jeho pomocí budou moci uživatelé při výměně e-mailového serveru pokračovat v práci s MS Outlook — ani si nevšimnou, že se v jejich obvyklém způsobu komunikace něco změnilo. Tento plugin umožňuje hladký přenos uživatelů ze starého e-mailového systému bez přerušení chodu celé organizace. To je obzvlášť důležité, pokud potřebujete vyměnit prostředky pro práci stovek tisíc uživatelů.

Snadnost správy

Specifickou vlastností našeho firemního e-mailového systému je minimální potřeba zásahů administrátorů. Při navrhování jsme se snažili najít rovnováhu mezi možnostmi přizpůsobení a složitostí správy. K dosažení tohoto cíle bylo zapotřebí provést řadu výzkumů vzorců chování administrátorů složitých firemních systémů.

V našem týmu pracují, jak jsem již zmínil, vysoce kvalifikovaní odborníci — každý z nich má bohaté zkušenosti s administrací. Při vývoji systému jsme se tedy snažili přenést jejich znalosti na potřeby uživatelů při správě složitého produktu. Jinými slovy — s vědomím potenciálních problémů jsme už při návrhu architektury předviděli způsoby, jak je vyřešit.

Například,

  • предусмотрена изоляция компонентов системы в контейнеры, включая инфраструктурные — это помогает нам повысить уровень безопасности, гибко настраивать доступы между компонентами, а также позволяет быстро включать в список поддерживаемых систем и платформ новые пункты, востребованные бизнесом;
  • единый подход к разработке и развертыванию, единый формат конфигурации всех компонентов способствуют более понятной и эффективной работе и сокращают траты на поддержку;
  • собственный инсталлятор системы, на базе привычных инструментов развёртывания, позволяет централизованно, гибко и понятно управлять установкой;
    микросервисная архитектура с чётким разделением ответственности бизнес-логики между сервисами помогает понять схему работы системы и более эффективно осуществлять поддержку;
  • инфраструктурная часть системы базируется на привычных решениях, с использованием лучших практик, а также позволяет проводить интеграции с уже имеющимися системами на предприятии, что упрощает ввод системы в эксплуатацию внутри компании;
  • в хранилище для этого будет предусмотрена система на базе искусственного интеллекта, которая сможет самостоятельно выявлять потенциальные отказы и управлять оборудованием.

Moderní design

На создание дизайна продукта ушло несколько тысяч человеко-часов. Перед разработкой стояла задача сделать интерфейс современным — легким и интуитивно понятным. Это сложно, когда ты проектируешь корпоративную систему, которая по умолчанию должна включать ряд специфических функций.

První pohled: jak funguje nový firemní e-mailový systém Mailion od MůjKancelář

Конечно, дизайн нельзя "высечь в камне" или утвердить под подпись и печать — это живой инструмент, он постоянно развивается и совершенствуется. За четыре года мы трансформировали дизайн несколько раз, но при этом не было радикальной смены идеологии. Ключевой принцип построения всей корпоративной линейки продуктов заключается в создании универсальной дизайн-системы.

При проектировании дизайна корпоративной почтовой системы мы уделили особое внимание проработке трех ключевых направлений — адаптивность, системность и возможность подстроиться под фирменный стиль клиента.

Adaptabilita

Hlavní rys designu uživatelského rozhraní firemního e-mailového systému Mailion je možnost zobrazení na zařízeních s obrazovkami jakékoli velikosti. Všechny vizuální komponenty jsou pečlivě navrženy, správně se škálují při práci na mobilních zařízeních a jsou skvělé i pro ovládání prsty na dotykových obrazovkách. Při změně velikosti okna aplikace se transformuje i sloupcová rozvržení — velikost sloupců se proporcionalně posouvá, v přísném souladu s postuláty konceptu bohatých internetových aplikací.

Systémovost

Základem designu firemního e-mailového systému Mailion je systémový přístup. Tento směr vyvíjíme od začátku roku 2017, kdy o designových systémech nebylo tak módní mluvit, jako je tomu dnes. Designový systém je sada pravidel a nástrojů pro vizuální a technické provedení, který odráží filozofii produktu a neustále se vyvíjí. Zavedli jsme ho pro zjednodušení komunikace mezi vývojem a designem.

Nastavení firemního stylu

Náš design je "chameleon", schopný přizpůsobit se jakémukoli firemnímu stylu klienta. Barvy všech prvků rozhraní jsou definovány přes proměnné. Tímto způsobem, změnou základní sady několika barev, lze přebarvit najednou všechny aplikace.

Písma jsou také určována pomocí proměnných: rozhraní může používat firemní písmo společnosti klienta, pokud je to předpokládáno klientským brandbookem. Různá písma mohou mít přitom různou velikost písmen a my to zohledňujeme. Například PT Sans ve velikosti 16 vypadá znatelně menší než Roboto ve stejné velikosti 16. Proto přizpůsobujeme velikost textových bloků specifikům konkrétního písma.

Naší barevné knihovně a aspektům práce s písmem se budeme věnovat v samostatných článcích.

Mobilní aplikace

Nezbytnou součástí jakéhokoli moderního e-mailového systému jsou mobilní aplikace — uživatelé by měli mít možnost pracovat odkudkoli a kdykoli.
V současnosti teprve formujeme koncept firemních mobilních aplikací, které by měly zohlednit rozdíly ve funkčnosti e-mailových systémů MůjOffice a nabízet různé přístupy k využívání e-mailu a kalendářních systémů v korporacích.

Inteligentní mediální panel

Naše fokusní skupiny ukázaly, že uživatelé považují rozhraní běžných poštovních systémů za nepohodlné. Respondenti, které jsme oslovili, zvlášť zmiňovali, že práce s událostmi v kalendáři a s přílohami je obzvlášť složitá. Snažili jsme se o to, aby bylo rozhraní responsivní a výkonné — aby bylo radostí používat náš produkt.

Mediapanel, nový nástroj pro urychlení spolupráce, systematizuje veškeré informace o korespondenci a zajišťuje okamžitý přístup k seznamu účastníků konverzace, odkazům a verzím dokumentů, které byly kdykoliv odeslány.

Tento nástroj pomáhá v situacích, kdy uživatelé musí pracovat s velkými vlákny o stovkách zpráv. Často je potřeba najít dokument nebo obrázek, který byl jen v jedné z nich. Mediapanel vytváří seznam všech položek z řetězce e-mailů a zobrazuje je na jednom místě. Díky tomu je nalezení požadovaného objektu mnohem jednodušší.

Lokalizace

Potřeba korporátního poštovního systému není pouze u ruských uživatelů. MůjOfis vede důslednou politiku expanze na zahraniční trhy, a proto se důležitosti lokalizace produktů věnuje značná pozornost.

Ve našem produktu byla potřeba lokalizace do cizích jazyků zakotvena již od začátku, na úrovni základních částí systému. Přidání nových jazyků pro nás není velkým problémem — je to zcela pochopitelné zadání, které víme, jak řešit.

V současnosti mají uživatelé k dispozici ruštinu a angličtinu. V následujících vydáních přidáme do firemního poštovního systému podporu jazyků, ve kterých fungují produkty MůjOfis — francouzštiny, španělštiny, portugalštiny a dalších. V jistém smyslu jsme na tom lépe než kolegové z jiných oddělení, protože pro poštovní a kalendářní systémy je třeba vzít v úvahu pouze abecedu a zvláštnosti práce s daty a časem — nemáme, přinejmenším s naším štěstím, žádné vzorce jako v tabulkovém editoru.

Ano, najímáme!

Vytvoření našeho produktu si vyžádalo několik set člověkolet. A při veškeré snaze bych nedokázal hned v rámci jednoho článku vyprávět o všem. Doufám však, že tento příspěvek poslouží jako výchozí bod k seznámení se s naším produktem – jak jsem již zmínil výše, plánuju se v budoucnu podrobněji zabývat jak samotným řešením a jeho vlastnostmi, tak našimi přístupy k vývoji.

Bez jakékoli skromnosti mohu říci, že v současnosti existuje na světě jen hrstka společností, které vyvíjejí podobné systémové e-maily. Je to opravdu složitý inženýrský úkol, který vyžaduje hluboké pochopení potřeb firemních zákazníků, pečlivou analýzu obchodních procesů velkých organizací, moderní trendy v designu a vývoji, stejně jako značný počet odborníků. Náš e-mailový systém se každý den vyvíjí.

Právě teď máme otevřeno téměř padesát volných míst v oblasti vývoje. Přijďte k nám pracovat, pokud chcete společně s námi vytvářet produkt, který dokáže změnit představy korporátního světa o elektronické poště.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster