Hi there,
I am investigating whether Aspose.Email for .NET may be a viable option for use in some applications currently in development. The service(s) will be developed as Windows VB.NET service applications and will interact with Microsoft Exchange 2016, specifically with regard to Microsoft Outlook shared mailboxes.
There are some specific functions which I need to be able to perform (and have been able to execute via Outlook Redemption) but curious to know if the same results could possibly be achieved via Aspose.Email?
Namely :
-
Retrieval of Global Address List and certain (extended) MAPI properties per contact / address item in GAL
1 - PR_DISPLAY_NAME / MAPI property tag &H3001001F
2 - PR_EMAIL_ADDRESS / MAPI property tag &H39FE001F
3 - PR_DISPLAY_TYPE / MAPI property tag &H39000003 -
Use of MAPI folders for fast / efficient retrieval of message headers without the need to retrieve individual emails from Exchange
1 - Connection to mailbox store / search root folder / search folder
2 - Creation of new search folder and retrieval of email headers (MAPI) for every email in a given date range
3 - Return (on completion) search folder items as MAPI table
4 - Query MAPI table into local ADO recordset (i.e. SQL) to break out into individual specified fields
(would need visibility to ‘standard’ MAPI headers, e.g. MessageID, EntryID, SentOn, Subject, To, CC, SenderEmailAddress etc.) as well as ‘custom’ headers defined via Microsoft MAPI schema tags)
Ultimately the goal is to able to connect to any given shared mailbox and “scan” the contents as quickly as possible. Retrieving individual emails is not an option as some of the mailboxes can be extremely large and all we need are the MAPI headers - we are not interested in the HTML body, attachments etc. Thus MAPI tables are extremely useful in retrieving this kind of information in bulk without bottlenecking the network or dragging down Exchange servers. It also means large volumes of information can be retrieved in a matter of minutes rather than hours (possibly even days, depending on the size of the mailbox)
Can anybody advise if this (or something akin to this) can be achieved using Aspose.Email? And if so, has anybody tried to set up something similar and would there be any code snippets which would help me to get started?
Thanks in advance