EWS Agent
Der Exchange Web Services Agent (EWS Agent) ist ein Windows Dienst, der per Polling aus einem Exchange Server per Webservice-Aufruf E-Mails abruft und diese Daten anschließend an eine Microsoft Message Queue, wo sie bis zum Abholen durch den
Exchange Connector Service zwischen gepuffert werden.
Funktionsweise
Der EWS Agent holt sich beim Start die Emailadresse der eingetragenen Mitarbeiter aus eEvolution über die eEvolution Web Services. Für jede E-Mailadresse wird ein Abonnement für den „Inbox“ und den „SentItems“-Ordner angelegt und der aktuelle Status als Synchronisationspunkt gespeichert. Ab diesem Zeitpunkt werden in einem Festgelegten Intervall (X Sekunden [siehe Config „PullIntervall“]) die Postfächer der abonnierten Adressen nach Änderungen untersucht und ggf. die neue eingetroffenen oder rausgegangenen Emails in die MSMQ übertragen und der Synchronisationspunkt aktualisiert. Ältere Nachrichten werden durch das erste setzten des Synchronisationspunktes auf den Startzeitpunkt des EWS Agent nicht in die MSMQ übertragen. Dafür muss manuell ein Mailimport für den entsprechenden Mitarbeiter ausgeführt werden.
Nach einem anderen Intervall (X Stunden [siehe Config „AddressListUpdateIntervall“]) werden die Mailadressen der Mitarbeiter über die eEvolution Web Services nach neuen oder gelöschten Mitarbeiter überprüft und ggf. die Abonnements für die Postfächer aktualisiert. D.h. erst ab diesem Zeitpunkt werden eingehende und ausgehende Mails für diesen Mitarbeiter durch den EWS Agent erfasst. Sollten in dieser Zeitspanne bereits Emails eingegangen oder versendet worden sein, dann muss ebenfalls ein Mailimport ausgeführt werden.
Visual Studio Projekt
Im Quellcode handelt es sich um dieses Projekt:

Der Exchange Web Service Agent ist eine komplexe Komponente, die von den ExchangeWebServices.Common und von der eEvolutionExchangeConnectorLib abhängig ist.