Wysyłaj, odczytuj i organizuj wiadomości na serwerze Exchange
Pobierz informacje o skrzynce Exchange przy użyciu EWS
Aspose.Email umożliwia pobranie szczegółów skrzynki pocztowej z Microsoft Exchange przy użyciu IEWSClient klasę. Wywołując GetMailboxInfo() metoda, klient zwraca ExchangeMailboxInfo obiekt zawierający przydatne URI folderów, takich jak Mailbox, Inbox, Drafts i Sent Items.
Aby połączyć się z serwerem Exchange przy użyciu Exchange Web Services (EWS), użyj IEWSClient klasa. Ta klasa używa EWS do łączenia się i zarządzania elementami na serwerze Exchange.
Poniższy fragment kodu demonstruje, jak pobrać informacje o skrzynce przy użyciu usług Exchange Web Services.
Wysyłanie wiadomości e‑mail za pomocą EWS
Możesz wysyłać e‑maile przez Exchange, wywołując IEWSClient->Send() metoda. Przyjmuje MailMessage obiekt i przesyła go bezpośrednio przez serwer przy użyciu EWS.
Poniższy przykład kodu pokazuje, jak wysłać wiadomość e‑mail w formacie HTML przez serwer Exchange przy użyciu Exchange Web Services (EWS) i Aspose.Email dla C++. Przedstawia pełny proces nawiązania połączenia z Exchange, utworzenia wiadomości e‑mail z nadawcą, odbiorcą, tematem i treścią HTML, a następnie wysłania wiadomości przy użyciu metody Send klienta EWS.
Odczytywanie e‑maili z skrzynki pocztowej innego użytkownika
Niektóre konta na serwerach Exchange mają prawo dostępu do wielu skrzynek pocztowych, a niektórzy użytkownicy mają wiele kont e‑mail na tym samym serwerze Exchange. W obu przypadkach użytkownicy mogą uzyskać dostęp do skrzynek pocztowych innych użytkowników przy pomocy Aspose.Email. API zapewnia mechanizm dostępu do folderów i e‑maili z innych skrzynek pocztowych przy użyciu IEWSClient klasa. Tą funkcjonalność można uzyskać przy użyciu przeładowanej GetMailboxInfo() metoda i podanie adresu e‑mail użytkownika jako parametru.
Poniższy fragment kodu pokazuje, jak odczytywać e‑maile przy użyciu IEWSClient klasa.
Wyświetlanie wiadomości przy użyciu EWS
Aspose.Email dla C++ pozwala pobierać metadane wiadomości ze skrzynek pocztowych serwera Exchange poprzez IEWSClient. Używając opartego na EWS ListMessages Za pomocą API możesz wyświetlać wiadomości z dowolnego folderu, przeglądać metadane wiadomości i implementować stronicowanie dla dużych skrzynek pocztowych.
Wyświetl wiadomości z folderu Odebrane
Użyj ListMessages aby pobrać podstawowe informacje o wiadomości, takie jak temat, nadawca, odbiorcy i identyfikator wiadomości, z folderu Odebrane lub dowolnego folderu.
Poniższy przykład kodu demonstruje, jak wypisać i wyświetlić podstawowe informacje o wszystkich wiadomościach na serwerze Exchange.
- Utwórz instancję IEWSClient.
- Wywołaj ListMessages z docelowym identyfikatorem URI folderu.
- Iteruj po ExchangeMessageInfoCollection.
Wyświetl wiadomości z dowolnego folderu
ListMessages akceptuje dowolny prawidłowy URI folderu, umożliwiając wyświetlanie elementów z folderów Elementy usunięte, Szkice, Elementy wysłane lub folderów niestandardowych. Użyj IEWSClient->get_MailboxInfo->xxxFolderUri właściwość, aby uzyskać URI różnych folderów.
Poniższy przykład kodu pokazuje, jak uzyskać dostęp do różnych identyfikatorów URI folderów serwera Exchange i pobrać wiadomości z określonego folderu.
Stronicowanie w wyświetlaniu wiadomości
W przypadku dużych skrzynek pocztowych użyj ListMessagesByPage aby ładować wiadomości w mniejszych blokach.
Poniższy przykład kodu demonstruje, jak zaimplementować stronicowanie w celu pobierania dużej liczby wiadomości z folderu Odebrane serwera Exchange.
- Najpierw tworzy wiele wiadomości testowych na serwerze.
- Następnie używa ListMessagesByPage metoda do pobierania wiadomości w mniejszych partiach (w tym przypadku 5 wiadomości na stronę), iterując przez wszystkie strony aż do osiągnięcia ostatniej strony.
- Na koniec kod weryfikuje, że wszystkie wiadomości zostały pomyślnie pobrane, licząc łączną liczbę elementów we wszystkich stronach.
Pobierz informacje o typie wiadomości
Użyj ExchangeMessageInfo->MessageInfoType aby określić podstawowy typ wiadomości Exchange (np. e‑mail, żądanie spotkania itp.).
Poniższy przykład kodu pokazuje, jak połączyć się z serwerem Exchange i pobrać informację o typie wiadomości z folderu Elementy usunięte.
Zapisz wiadomości przy użyciu Exchange Web Services (EWS)
Aspose.Email umożliwia pobieranie wiadomości ze skrzynki pocztowej serwera Exchange i zapisywanie ich w wielu formatach, takich jak EML, strumienie pamięci oraz MSG. Poniższe przykłady pokazują, jak pobrać informacje o wiadomości i przechowywać wiadomości przy użyciu IEWSClient API.
Zapisz wiadomości jako pliki EML
Aby zapisać wiadomości ze skrzynki pocztowej jako pliki EML:
- Utwórz IEWSClient instancję przy użyciu prawidłowych poświadczeń.
- Wywołaj ListMessages() aby pobrać ExchangeMessagesInfoCollection.
- Iteruj po kolekcji, aby uzyskać unikalny URI każdej wiadomości.
- Wywołaj SaveMessage() aby przechowywać każdą wiadomość na dysku w formacie EML.
Poniższy przykład kodu demonstruje, jak zapisać wiadomości e‑mail z folderu Odebrane serwera Exchange jako osobne pliki EML lokalnie przy użyciu Aspose.Email dla C++.
Zapisz wiadomości do strumienia pamięci
Zamiast zapisywać na dysk, możesz zapisać wiadomości w strumieniu pamięci — przydatne do przechowywania e‑maili w bazie danych lub przetwarzania ich w pamięci.
Poniższy przykład kodu demonstruje, jak zapisać wiadomości e‑mail z folderu Odebrane serwera Exchange do strumieni pamięci.
Zapisz wiadomości w formacie MSG
Aby zapisać wiadomości jako MSG:
- Pobierz wiadomość przy użyciu FetchMessage(), który zwraca MailMessage.
- Wywołaj MailMessage::Save() z opcjami zapisu MSG.
Poniższy przykład kodu demonstruje, jak pobrać i zapisać wiadomości e‑mail z folderu Odebrane serwera Exchange jako pliki w formacie Outlook MSG.
Pobierz szczegóły wiadomości za pomocą URI wiadomości
Gdy dostępny jest tylko unikalny URI wiadomości, możesz nadal pobrać pełną ExchangeMessageInfo obiekty. The IEWSClient::ListMessages() przeciążenie akceptuje listę identyfikatorów wiadomości (URI) i zwraca ExchangeMessageInfoCollection. Użyj tej funkcji, gdy przechowujesz lub otrzymujesz URI wiadomości zewnętrznie i potrzebujesz załadować metadane (temat, nadawca, rozmiar itp.) bez pobierania pełnych wiadomości.
Poniższy przykład kodu demonstruje, jak utworzyć wiele wiadomości e‑mail na serwerze Exchange, a następnie pobrać ich informacje przy użyciu unikalnych identyfikatorów.
Pobierz pełną treść wiadomości
ListMessages() zwraca informacje podsumowujące (temat, nadawca, identyfikatory). Aby załadować pełną treść wiadomości — treść, nagłówki, załączniki — użyj FetchMessage().
Poniższy przykład kodu demonstruje, jak pobrać pełne wiadomości z folderu Odebrane serwera Exchange i wyodrębnić informacje o załącznikach:
- Utwórz IEWSClient instancję.
- Wywołaj ListMessages() aby uzyskać podstawowe metadane wiadomości.
- Wyodrębnij unikalny URI każdej wiadomości.
- Wywołaj FetchMessage() aby pobrać pełne szczegóły wiadomości.
Pobierz rozmiar wiadomości (bez pobierania pełnej wiadomości)
Aspose.Email dostarcza informacje o rozmiarze wiadomości bez pobierania całego e‑maila, za pośrednictwem ExchangeMessageInfo::Size właściwość.
Jest to przydatne do:
- statystyki skrzynki pocztowej
- obliczenia limitów
- filtrowanie dużych wiadomości przed pobraniem
Poniższy przykład kodu demonstruje, jak wyświetlić i pokazać metadane wiadomości, w tym rozmiar, z folderu Odebrane serwera Exchange.
Pobierz e‑maile z publicznych folderów Exchange
Foldery publiczne Exchange umożliwiają przechowywanie wspólnych wiadomości między użytkownikami.
Aspose.Email IEWSClient pozwala wykonać następujące operacje na tych folderach i przechowywanych w nich wiadomościach:
- Wyświetl foldery publiczne
- Przeglądaj podfoldery rekurencyjnie
- Pobierz wiadomości i zapisz je (np. jako pliki MSG)
Uwaga: Wymagany jest Microsoft Exchange Server 2007 lub nowszy, ponieważ wcześniejsze wersje nie obsługują EWS.
Poniższy przykład kodu demonstruje, jak rekurencyjnie pobrać wiadomości ze wszystkich folderów publicznych i ich podfolderów na serwerze Exchange oraz zapisać je lokalnie jako pliki Outlook MSG.
Przenoszenie wiadomości między folderami Exchange
Możesz przenosić wiadomości z jednego folderu Exchange do drugiego przy użyciu IEWSClient::MoveItem metoda. Wymaga:
- Unikalny URI wiadomości do przeniesienia.
- Unikalny URI folderu docelowego.
Poniższy przykład kodu demonstruje, jak filtrować i przenosić określone wiadomości e‑mail z folderu Odebrane serwera Exchange do innego folderu na podstawie kryteriów zawartości.
- Połącz się z serwerem Exchange przy użyciu poświadczeń EWS.
- Pobierz informacje o skrzynce pocztowej (URI folderów).
- Wyświetl wszystkie wiadomości z folderu Odebrane.
- Iteruj przez każdą wiadomość.
- Sprawdź, czy temat zawiera "process this message".
- Przenieś pasujące wiadomości do folderu Elementy usunięte.
- Wyświetl potwierdzenie dla każdej przeniesionej wiadomości.
Usuń wiadomości z folderu Exchange
Możesz usunąć wiadomości e-mail z folderu przy pomocy IEWSClient->DeleteMessage metoda. Przyjmuje unikalny URI wiadomości jako parametr.
Poniższy przykład kodu demonstruje, jak filtrować i usuwać określone wiadomości e‑mail z folderu Odebrane serwera Exchange na podstawie kryteriów tematu.
- Iteruj wiadomości w folderze Odebrane.
- Przetwarzaj wiadomości na podstawie pewnych kryteriów (w tym przykładzie szukamy słowa kluczowego w temacie wiadomości).
- Usuń pasujące wiadomości.
Kopiuj wiadomości do innego folderu Exchange
Użyj IEWSClient::CopyItem aby zduplikować wiadomość w innym folderze. Przeciążona wersja zwraca URI nowo utworzonej kopii.
Poniższy przykład kodu demonstruje, jak utworzyć wiadomość e‑mail na serwerze Exchange i skopiować ją do innego folderu.