Текст: Kristijan Sekereš
EWS во Exchange Online завршува на 1 април 2027: преселување на интеграциите на Microsoft Graph

Microsoft почна да ги исклучува Exchange Web Services (EWS) во Exchange Online. Првите чекори на спроведување се извршуваат овој месец, по тоа закупците (tenants) што никогаш не ги допреле своите поставки за EWS се исклучуваат еден по еден, а од 1 април 2027 EWS исчезнува за секој закупец на Microsoft 365. Microsoft јасно кажа дека нема да има исклучоци по април 2027.
Ако нешто што го изградила вашата компанија разговара со поштенските сандачиња во Microsoft 365 преку EWS, ќе престане да работи најдоцна на тој датум, а можеби и многу порано. Вообичаените осомничени: CRM што ги заведува е-пораките од купувачите кон сметките, скрипта за архивирање или задржување, екран за резервација на сали за состаноци, систем за тикети што чита заедничко сандаче за поддршка, задача за извештаи што ги брои е-пораките по тим. Решението е препишување кон Microsoft Graph, а дел од она што можеше EWS воопшто нема еквивалент во Graph.
Што се случува, датум по датум
Microsoft го контролира EWS по закупец преку поставката EWSEnabled, која има три вредности: Null (стандардна), True и False. До неа сега има и втора поставка, EWSAllowedAppIDs: список на ID на апликации што сè уште смеат да користат EWS. Тековната страница на Microsoft Learn ја дава рамката: „Октомври 2026: EWS почнува глобално да се исклучува за сите организации“ и „Април 2027: EWS е целосно исклучен.“
Деталите се во објавата на тимот на Exchange од 1 октомври, EWS Deprecation Is Here. За светскиот комерцијален облак:
- 2 октомври 2026, на крајот на денот по пацифичко време: Microsoft го евидентира секој закупец што има
EWSEnabledпоставено на True, но нема список на дозволени апликации. - 8 и 9 октомври 2026: за тие закупци, Microsoft го создава списокот на дозволени и го пополнува со ID на апликациите што користеле EWS во претходните 60 дена.
- Од 10 октомври 2026: кога
EWSEnabledе True, списокот на дозволени е задолжителен. Апликација што не е на него се одбива. - Втора фаза, потоа: закупците што се сè уште на Null добиваат
EWSEnabledпоставено на False, што го блокира EWS за секоја апликација. Секој добива предупредување 7 дена однапред во Message Center, а Microsoft кратко пред тоа пополнува список на дозволени од 60 дена користење, за администраторот да може повторно да го вклучи EWS со True. - 1 април 2027: EWS е „целосно и трајно исклучен“, а администраторите на закупците воопшто ја губат можноста да го менуваат
EWSEnabled.
Закупците во другите облаци на Microsoft добиваат сопствени временски рамки преку Message Center.
Списокот на дозволени купува време, не решение
Автоматскиот список се гради од 60 дена сообраќај, а самата насока на Microsoft од 4 септември предупредува дека „може да пропушти апликации што се извршуваат ретко“. Квартален извоз или годишна задача за архивирање нема да бидат на него и ќе паднат следниот пат кога ќе се извршат.
Промените во списокот на дозволени стапуваат на сила за 24 часа, а промените во EWSEnabled за околу еден час. Секоја поправка по пад ве чини најмалку еден ден.
За да видите каде стои вашиот закупец, администратор со Exchange Online PowerShell може да изврши:
Get-OrganizationConfig | Format-List EWSEnabled
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs
За кого е ова, а кој може да престане да чита
Exchange Server во сопствени простории не е засегнат. Microsoft вели дека повлекувањето важи „само за Microsoft 365 и Exchange Online“ и дека „нема промени во EWS во Exchange Server“. Ако сите ваши сандачиња се на ваши сервери, можете да застанете тука.
Хибридните поставки бараат повнимателен поглед. Сандачињата во сопствени простории можат да продолжат да користат EWS; сандачињата во облакот мора да преминат на Graph. Објавата на Microsoft за хибридни поставки од 30 септември опфаќа два случаја што бараат дејство сега, вклучително и сандачиња во сопствени простории со архиви во Exchange Online, каде советот засега е EWS да остане вклучен, а хибридната апликација да се стави на списокот на дозволени.
Готовиот софтвер е работа на добавувачот. Ако тоа што го повикува EWS е комерцијален производ, испорачувањето верзија за Graph е работа на добавувачот, а ваша е да добиете датум од него и да го инсталирате ажурирањето. Сопствените клиенти на Microsoft не се поинакви: некои сè уште се појавуваат во извештаите за користење и им треба списокот на дозволени додека не се ажурираат.
Кодот развиен во куќата е ваша работа. Скриптите, внатрешните услуги, прилагодените алатки со отворен код и интеграциите што некоја агенција ги изградила пред години немаат никој нагоре по синџирот што ќе ги поправи. Тука е работата. За размерот: exchangelib, Python библиотека за разговор со Exchange преку EWS, во изминатиот месец е преземена 1.174.625 пати од PyPI. Дел од тоа е користење во сопствени простории, но дава слика колку код директно зборува EWS.
Прв чекор: најдете сè што користи EWS
Почнете со извештајот за користење на EWS во административниот центар на Microsoft 365 (Reports, Usage, Exchange, па картичката EWS usage). За секоја апликација тој го наведува ID на апликацијата во Microsoft Entra, секое SOAP дејство што таа апликација го повикала, обемот на повици и датумот на последната активност. Можете да гледате 7, 30 или 90 дена наназад и да извезете во CSV.
Три работи што треба да ги знаете за него:
- Податоците се агрегираат неделно и може да им требаат до 10 дена да се појават.
- ID на апликација не е сопственик. Споредете го секој ID со Enterprise applications во Microsoft Entra, а потоа најдете го лицето или тимот што ја води. Очекувајте неколку ID што никој не ги препознава.
- Колоната со SOAP дејства ви кажува колку е голема секоја работа. Апликација што повикува само
FindItemиGetItemе кратка работа. Онаа што повикуваSyncFolderItems,SubscribeиExportItemsе проект.
Дури и 90 дена ги пропуштаат годишните задачи, па проверете ја и другата страна: закажаните задачи и cron записите, и репозиториумите со код пребарани за крајната точка на EWS (Exchange.asmx), EWS Managed API за .NET и exchangelib. Страницата на Microsoft за повлекувањето води и до анализатор на EWS за .NET код (ги означува повиците кон EWS во Visual Studio и VS Code и предлага еквиваленти во Graph) и до упатство за преработка на кодот со помош на ВИ.
Втор чекор: одлучете што ќе стане секоја интеграција
Секоја апликација на списокот добива еден од четири одговори:
- Повлечете ја. Некои интеграции постојат само затоа што никој не ги исклучил.
- Ажурирајте ја. Производите на добавувачи добиваат надградба од добавувачот. Договорете го датумот сега.
- Препишете ја кон Microsoft Graph. Стандардниот избор за код развиен во куќата.
- Редизајнирајте ја. За сè што се потпира на можност што Graph никогаш нема да ја има (погледнете подолу).
Microsoft ја наведува и Power Platform како начин повторно да се спроведе тек на работа. За скрипта што проследува прилози во папка, тоа може да биде најевтиниот одговор.
Што всушност вклучува препишувањето кон Graph
Повеќето EWS операции имаат директен пандан во Graph, а Microsoft одржува мапирање од EWS кон Graph. Мапирањето е лесниот дел. Потешките делови се оние што тоа не ги покажува.
Дозволите стануваат потесни, и тоа е предност
Апликација што користи EWS без најавен корисник ја има апликациската дозвола за EWS, која Microsoft ја опишува како „целосен пристап до сите поштенски сандачиња“. Graph ја дели на одделни дозволи: Mail.Read, Mail.ReadBasic, Mail.Send, Calendars.ReadWrite, MailboxSettings.Read и така натаму.
Можете да ограничите и до кои сандачиња стигнува апликацијата. RBAC for Applications во Exchange Online доделува дозвола наспроти опсег на управување или административна единица и ги заменува постарите Application Access Policies. Екран за резервација на сали може да ги чита календарите на дванаесет сандачиња на сали и ништо друго. Една замка: дозволите доделени на овој начин се додаваат на секоја дозвола на ниво на закупец во Microsoft Entra, па ако Mail.Read е сè уште одобрена таму, вашиот опсег не ограничува ништо. Отстранете ја дозволата во Entra.
За автентикација на апликацијата користете сертификати наместо клиентски тајни каде што можете и држете ги пристапните податоци надвор од скриптите и репозиториумите.
Синхронизацијата и известувањата се градат одново, не се преведуваат
Ова обично е најголемата промена за сè што чува локална копија од податоците во сандачето.
Синхронизација. SyncFolderItems се мапира кон delta query за пораки во Graph, а SyncFolderHierarchy кон delta query за поштенски папки. Delta за пораки работи по една папка, па целосна синхронизација на сандаче значи следење на дрвото од папки и чување посебна delta врска за секоја папка. Филтрирањето е ограничено (само по датум на прием), а резултатите вклучуваат бришења, преместувања надвор од папката и промени на статусот прочитано дури и кога не одговараат на вашиот филтер.
Известувања. Претплатите во EWS со streaming и push стануваат известувања за промени во Graph, доставени до webhook што вие го водите или до Azure Event Hubs или Event Grid. Webhook мора да биде достапен од страната на Microsoft, што е архитектонска промена за скрипта што порано држеше отворена врска од зад заштитниот ѕид. Претплатите за пошта, календар и контакти траат најмногу 10.080 минути (малку помалку од седум дена), или 1.440 минути кога известувањето ги носи податоците, па нешто мора да ги обновува. Секое сандаче дозволува најмногу 1.000 активни претплати низ сите апликации.
Образецот што издржува: третирајте го известувањето како навестување, извршете delta query за да видите што се променило и извршувајте го и по тајмер, за да го фатите она што пропуштено известување би го изгубило.
Податоци, ID и пропусност
- Зачувани ID. Ако вашиот CRM или систем за тикети зачувал ID на ставки од EWS за да ги поврзе е-пораките со записите, тие врски треба да се претворат. Graph има функција
translateExchangeIdsтокму за ова. Планирајте го претворањето како посебен чекор од миграцијата. - Пребарувања.
ResolveNamesсе мапира кон People API,GetUserAvailabilityконgetSchedule, поставките за отсуство кон поставките на сандачето. Блиски еквиваленти, но не идентични. - Ограничување на брзината (throttling). Graph го ограничува секој пар апликација и сандаче на 10.000 барања на 10 минути, четири истовремени барања и 150 MB прикачувања на 5 минути. Масовна задача што извршувала десетици паралелни EWS нишки кон едно сандаче мора да се редизајнира околу тие бројки.
Празнините и она што никогаш нема да дојде
Microsoft објавува патоказ за можностите на EWS што сè уште недостасуваат во Graph. Вклучува увоз и извоз со целосна верност за архивски сандачиња, сандачиња за јавни папки и групни сандачиња, пристап до вградените архиви (in-place archives), дозволи за папки преку Exchange Admin API и создавање пораки што не се нацрти од MIME. Повеќето цели се за четвртиот квартал на 2026. Неколку беа предвидени за третиот квартал, кој сега заврши, па проверете што навистина е испорачано пред да дизајнирате околу тоа. Предупредувањето на самиот Microsoft: ако некоја можност не е на патоказот, „не планирајте“ еквивалент во Graph пред EWS да се исклучи.
Три можности се потврдено дека никогаш нема да дојдат во Graph:
- Генерички пристап до јавни папки (создавање, читање, ажурирање и бришење папки и ставки).
- Генерички пристап до групни сандачиња во Microsoft 365. Graph наместо тоа ги покрива групните разговори, нишките и објавите.
- Пристап до сандачиња за откривање (discovery mailboxes). Microsoft наместо тоа упатува на Purview eDiscovery.
Ако некоја алатка зависи од една од нив, пренесувањето на кодот не е доволно: податоците или текот на работа прво мора да се преселат на друго место, а тоа трае подолго од препишувањето.
План од шест месеци
Од денес до 1 април 2027 има нешто помалку од шест месеци. Реален редослед:
Октомври 2026: видете каде стоите.
Проверете го EWSEnabled и списокот на дозволени. Извезете 90 дена од извештајот за користење. Прегледајте го списокот што го пополнил Microsoft, отстранете го она што не треба да е таму и додадете ги ретките задачи за кои знаете. Ако вашиот закупец е сè уште на Null, размислете сами да ги поставите списокот и True, наместо да чекате Microsoft да префрли на False и да откриете што ќе се скрши.
Ноември 2026: тријажа. Доделете сопственик и одговор (повлекување, ажурирање, препишување, редизајн) на секој ID на апликација. Скенирајте го кодот. Означете сè што допира јавни папки, групни сандачиња или сандачиња за откривање и почнете со редизајнот сега. Создадете ги регистрациите на апликации во Graph со дозволи ограничени по опсег.
Од декември 2026 до јануари 2027: изработка. Почнете со интеграцијата што бизнисот прва би ја почувствувал. Изградете ги синхронизацијата и известувањата еднаш и користете ги повторно. Претворете ги зачуваните ID.
Февруари 2027: пуштете ги двете паралелно. Додека EWS сè уште работи, пуштајте ги старата и новата верзија врз истите сандачиња и споредувајте го излезот. Како што секоја ќе биде прифатена, извадете го нејзиниот ID од списокот на дозволени. Тоа е и тестот: почекајте ги 24-те часа и потврдете дека ништо друго не престанало да работи.
Март 2027: исклучете го EWS сами.
Поставете го EWSEnabled на False многу пред 1 април. Сè што сте пропуштиле паѓа додека сè уште можете повторно да го вклучите EWS. По 1 април таа опција исчезнува. Направете намерно тестно извршување и на кварталните и годишните задачи пред тоа: задача што се извршува на затворањето на првиот квартал ќе се изврши за прв пат откако EWS ќе исчезне.
Каде да побарате помош
Тешкиот случај е интеграцијата чиј изворен развивач заминал. Нашата услуга за одржување наследени системи е изградена токму за тоа: го читаме постојниот код, ги препишуваме деловите со EWS кон Microsoft Graph (дозволи, синхронизација, известувања, миграција на ID) и ги пуштаме старата и новата верзија паралелно додека бројките не се совпаднат. Ако наместо тоа ви требаат инженери што ќе работат во вашиот тим, погледнете ја нашата услуга за зајакнување на тимот.
Ако вашиот извештај за користење е полн со ID на апликации што никој не ги препознава, пишете ни на office@c9group.dev.