MS Exchange Folder, Calendar & Contact Synchronization



Office 365 Folder Synchronization Note: This article applies to Folder sync with MS Exchange only. If using Office 365, kindly refer to these Office 365 folder synchronization instructions.


MailArchiva can be configured to synchronize folder structures, calendar and contact entries associated with all mailboxes with MS Exchange. When logged in as an auditor, the folder view displays all mailboxes available on the mail server. The filter at the bottom left corner of the screen, conveniently enables one to filter out the desired mailboxes. 


Folder sync operations download and link calendar and contact entries to associated mailboxes and folders. However, for email data specifically, these operations do not download, but merely link existing data already present in the archive, to the folder structures present in Exchange / O365. The reason is that to be compliant with archiving legislation, MailArchiva requires the journal envelope information. This journal envelope data is not available when retrieving emails directly from user mailboxes. Journal envelopes are only generated by Microsoft Exchange as part of the SMTP journaling process in 2) below.


There are three separate processes:

  1. Import - once-off import of historical data.
  2. Journaling - receive incoming, outgoing and internal traffic via SMTP listener interface
  3. Folder sync - links the existing emails received from journaling above to folders. It is merely an indexing exercise. If the graph database is deleted, MailArchiva will resync folder structures again.



MailArchiva performs synchronization with MS Exchange via the following mechanisms:


  1. Every fifteen minutes or so, MailArchiva iterates through all mailboxes residing in MS Exchange, and synchronizes all recent changes made to each of their folders
  2. MailArchiva registers for streaming events with MS Exchange, and listens for incoming data. When receiving an event, it initiates a sync operation on the changed folder associated with the event

Since sync operations are primarily push operations, there should be minimal performance impact on Exchange servers.


Exchange Synchronization



To enable Exchange folder sync \with MS Exchangs.


  1. Follow the steps in Logins to setup Active Directory authentication
  2. Follow the steps in Exchange Impersonation to setup an impersonation account
  3. Create and enable an Exchange client connection in Connections
  4. Enable tree view by selecting "When Data Available" in Show Tree View field (accessible from Configuration->Search)

Once these steps are performed, MailArchiva should periodically synchronize folders with MS Exchange.


SMTP or IMAP Connection Is Required! Exchange Connections are currently used only for the purposes of folder, calendar and contact synchronization. To obtain emails in the archive, in an addition to an Exchange Connection, it is necessary to setup either SMTP Journaling or IMAP Journaling. Follow SMTP or IMAP journaling instructions pertaining to the specific of MS Exchange being used.


As an added bonus, when syncing with MS Exchange, MailArchiva will automatically archive all contact (vCard) and calendar (iCal) information.


Exchange Connection Test Not Successful? Internal Error? or Unable to Access Mailbox? Refer to Cannot Establish Exchange Connection for a resolution.


Exchange Import


When importing emails using the direct Exchange import method, Exchange folder, calendar and contact information is also imported.


PST Folder Import


When importing PST data in Configuration->Import Data, MailArchiva will import the folder structure of the PST automatically. 


Folder View Permissions


MailArchiva uses the view filter of the logged in user's role to determine which mailboxes and folders should be displayed. For example, an end-user assigned the User Role with the view filter %email%, will only be able to see the folders that pertain to them. An auditor assigned the Auditor role with the view filter empty, will be able to see all folders corresponding with all mailboxes.


To disable the folder view all together, in Configuration->Search, select Show Tree View drop down dialog to suit your preference.


Show Tree View

Tuning CPU/Bandwith Resource Utiliization  


Folder synchronization, especially during initial sync, may place additional pressure on MailArchiva's and/or Exchange server's CPU/bandwidth resources. Fortunately, by manipulating the Sync Wait and Sync Interval parameters in Configuration->Connections->Exchange Connection, it is possible to control the rate of synchronization and thereby  adjust the pressure on resources.


Sync Wait specifies the duration that MailArchiva will wait between successive GET operations. Sync Interval specifies how long MailArchiva must wait between the processing of all user's folder structures before beginning the cycle again.


To slow synchronization down, and thereby relieve pressure on CPU/bandwidth resources, increase the Sync Wait and Sync Interval to a higher value in Configuration->Connections->Exchange Connection. Conversely to speed it up,  lower the sync wait and sync interval. To acheive a balance suitable for your environment, visit Status->Charts section to examine the impact of various adjustments.


How Syncing Works


At each sync cycle, MailArchiva iterates through each mailbox, iterating through each folder in a given mailbox, and scanning each folder for changes. A maximum of 512 changes are returned per folder. if there are more than 512 changes, MailArchiva will continue on and process the remaining items in following sync cycles.


begin sync
   loop each mailbox
      folderHierarchyChanges = syncFolderHierarchy
      loop folderHierarchy
          itemChanges = syncFolderItems
          loop each itemChanges
               process itemChange
          end loop
      end loop
   end loop
end sync



© 2005 - 2024 ProProfs

Found this information useful? Visit to learn more about MailArchiva.