Synchronizator poczty z Exchange do SharePoint

Bartosz Szewczyk

Synchronizator poczty z Exchange do SharePoint
Sierpień 24, 2018 APN Promise SA

Synchronizator poczty z Exchange do Sharepoint

W poniższym artykule przedstawiam rozwiązanie zaimplementowane przez firmę APN Promise do synchronizacji wiadomości w czasie rzeczywistym z Exchange do SharePoint. Jego celem jest dostarczenie użytkownikowi dodatkowych możliwości pracy nad załącznikami wiadomości, które nie są dostępne w programie Outlook (jak np. edycja) oraz przyspieszenie dostępu do danych.

Zaplecze techniczne

Microsoft Exchange Serwer jest to zaawansowany system pocztowy przeznaczony dla rodziny systemów Windows. Klientem pocztowym przeznaczonym dla Exchange jest Microsoft Outlook. Microsoft SharePoint jest platformą webową przeznaczoną do zarządzania, publikowania i manipulacji danymi w sieciach korporacyjnych. Najczęstszym zastosowaniem jest przechowywanie dokumentów oraz praca zespołowa nad nimi.

Podczas użytkowania poczty internetowej może się zdarzyć sytuacja, w której skrzynka mailowa rozrośnie się do znacznych rozmiarów (wiele GB). Liczba wiadomości wtedy stanie się na tyle duża, że uniemożliwi płynną pracę użytkowników końcowych. Wydłużony zostanie czas komunikacji pomiędzy Microsoft Outlook (klient poczty Microsoft) a serwerem pocztowym Exchange, co uniemożliwi płynne wyszukiwanie i zarządzanie wiadomościami.

Jednym ze sposobów poradzenia sobie z tym problemem jest przeniesienie zawartości zbyt dużej skrzynki mailowej do biblioteki dokumentów w serwisie Microsoft SharePoint. Synchronizacja musi się odbywać w czasie rzeczywistym (lub bliskim rzeczywistego), aby na bieżąco dodawać nowe wiadomości do list SharePointowych. Dzięki przechowywaniu maili oraz załączników w formie plików w bibliotece dokumentów można zintegrować się z OneDrive i przeglądać wiadomości w Explorerze Windows.

Synchronizator

Synchronizator będzie działał jako SharePoint Timer Job. Timer job są to usługi SharePoint, które pracują w trybie cyklicznym – co określony czas. Zarządzanie Timer Job’ami odbywa się poprzez SharePoint 2016 Central Administration. W tym miejscu można wymusić uruchomienie lub wyłączenie Joba albo zmienić częstotliwość jego uruchamiania.

W skład synchronizatora wchodzą dwa moduły:

  • moduł odpowiedzialny za pobranie wiadomości ze skrzynki mailowej oraz
  • moduł odpowiedzialny za zapisanie wiadomości w liście dokumentów na SharePoint.

Każda wiadomość trafia do własnego folderu z dodatkowymi metadanymi (np. tytuł, od kogo) w bibliotece dokumentów. W każdym folderze znajdują się załączniki i treść wiadomości w pliku o rozszerzeniu html.

Zaimplementowany Timer Job uruchamia się co pewien czas, aby na bieżąco dodawać nowe wiadomości do biblioteki dokumentów w SharePoint (użyto interwał 5 minut). Przy każdym uruchomieniu Job tworzy kopie różnicową wiadomości – przenoszone będą tylko te wiadomości, których data wysłania jest późniejsza niż data ostatniej synchronizacji. Konfiguracja i data ostatniej synchronizacji aplikacji przechowywane są w obiekcie SPPersistedObject (globalnie współdzielony obiekt). Edycja konfiguracji Job’a jest dostępna z poziomu przeglądarki internetowej dzięki zaimplementowaniu dodatku do Centralnej Administracji SharePoint. Aby się tam dostać trzeba uruchomić SharePoint 2016 Central Administration i przejść do zakładki General Application Settings.

Usługa jest kompatybilna z następującymi wersjami Microsoft Exchange:

  • Exchange 2010
  • Exchange 2010 SP1
  • Exchange 2013
  • Exchange 2013 SP1 lub nowszy

Warto pamiętać również o tym, że przy dodawaniu daty do SharePointowego pola typu DateTime trzeba konwertować wartość do standardu ISO8601. W przeciwnym wypadku data zapisana w SharePoint pominie strefy czasowe i będzie się różnić od tej widocznej w Outlooku. Najlepszym rozwiązaniem jest użycie metody klasy SPUtility z referencji Microsoft.SharePoint

Przykładowy kod:


folder.Properties["MailSented"] = SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateTime);

Widok listy dokumentów w SharePoint

Po uruchomieniu synchronizatora biblioteka dokumentów wypełni się wiadomościami pobranymi z poczty. Każda wiadomość jest przechowywana jako folder z dodatkowymi metadanymi (treść wiadomości, nadawca, czas wysłania). W każdym folderze jest przechowywany plik z oryginalną treścią wiadomości i załącznikami. Dzięki takiemu rozwiązaniu wszystkie funkcje SharePoint, takie jak wyszukiwarka, będą działać bezproblemowo. Użytkownicy końcowi mają też możliwość edycji załączników oraz ich synchronizacji na komputery poprzez usługę OneDrive for Bussiness.

Przy podwójnym kliknięciu załącznika/folderu zostanie wyświetlone okno modalne, w którym będzie można zobaczyć treść maila lub zawartość konkretnego pliku. Dzięki temu nie trzeba pobierać pliku na dysk komputera, podgląd możliwy jest bezpośrednio w przeglądarce internetowej.

Dodatkowym atutem takiego rozwiązania jest możliwość przeglądania treści przy pomocy exploratora Windows. Zarządzanie w ten sposób danymi przypomina zmapowanie folderu sieciowego. Użytkownicy mogą również w łatwy sposób zarządzać docelowym położeniem wiadomości w strukturze.

Podsumowanie

Stworzone  rozwiązanie oparte jest na SharePoint Timer Job, który ma zaimplementowany moduł odczytywania wiadomości z Exchange. Job działa w czasie rzeczywistym – co chwilę sprawdza czy na serwerze pocztowym są nowe wiadomości, a następnie zapisuje je w bibliotece dokumentów na SharePoint. Dzięki temu mechanizmowi można z łatwością zarządzać dużymi ilościami danych, odciążając jednocześnie serwer Exchange. Dodatkowym atutem tego rozwiązania jest możliwość zarządzania wiadomościami z poziomu windowsowego exploratora plików oraz edycji załączników.

Podziel się

Autor: Bartosz Szewczyk

Bartosz Szewczyk

Bartosz Szewczyk

Zespół: Apps

Ostatnie artykuły autora

Rozliczanie przebiegów aut w przedsiębiorstwie w 5 minut

Rozliczanie przebiegów aut w przedsiębiorstwie w 5 minut

Bartosz Szewczyk przedstawia rozwiązanie, które pomaga zarządzać w samochodami w przedsiębiorstwie, zapewniając komfort i szybkość pracy użytkowników.

Synchronizator poczty z Exchange do SharePoint

Synchronizator poczty z Exchange do SharePoint

W artykule przedstawiono rozwiązanie pozwalające na synchronizację wiadomości w czasie rzeczywistym z Exchange do SharePoint w celu dostarczenia użytkownikowi dodatkowych, niedostępnych w programie Outlook możliwości pracy nad załącznikami oraz przyspieszenie dostępu do danych.

Routing w Angular

Routing w Angular

Routing umożliwia nawigowanie między komponentami w aplikacji bez jej przeładowywania. W artykule przestawiam, jak we frameworku Angular4 zaimplementować przykładowy routing.

Skontaktuj się z Bartoszem

 

Administratorem danych gromadzonych z wykorzystaniem formularza jest A.P.N. Promise S.A. Podane przez Ciebie dane będą przetwarzane w zakresie niezbędnym do podjęcia kontaktu lub realizacji określonego żądania zgodnie z art. 6 ust. 1 lit. b RODO przez okres niezbędny dla realizacji Twojego zgłoszenia. Wszelkie informacje w zakresie przetwarzania podanych przez Ciebie w formularzu danych oraz posiadanych uprawnieniach znajdziesz w Polityce prywatności. Kliknij i dowiedz się więcej jeżeli informacje podane powyżej nie są dostatecznie jasne!