imap2exchange Conversion Utility

Overview

The imap2exchange Conversion Utility merely moves mail.  This utility depends on the Exchange account provisioned and IMAP access to the legacy mail store. This tool is a simple queue manager that converts X number of mailbox concurrently, while queuing N number of conversions in a FIFO manner. I have created a command line utility that executes conversions based on a user file, and I have created a Web App to run conversion add via a form. If you happen to have a need for an other form of conversionManager Application, say swing, then please feel free to write it.

Download

imap2exchange

Current Version imap2exchange-1.2.7.tgz
API (JavaDocs) http://tp.its.yale.edu/javadocs/imap2exchange-api/
Documentation imap2exchange documentation
Examples imap2exchange examples
Subversion (read-only) http://tp.its.yale.edu/svn_public/email_conversion/imap2exchange/trunk
Logging and Auditability Logging and Auditability
misc help imap2exchange background information
Introduction to MS Exchange Web Services via Java(JAXWS)

1.2.7 Changes

  • Fixed the Sent Items Date Issue. All messages that were saved to the IMAP store from IMAP Clients never receive a Received header. Exchange would mark these messages as received at the time of the conversion. As I send the MIME content to the EWS I add a Received header from imap2exchange and set the date to the original create date of the message, resulting in the correct date displaying in outlook.
  • I added timers to record the time spent doing specific tasks the aid in system configuration modifications increasing performance. All times are in milliseconds.
    Example:
    Exchange Connect
        cnt:   6
        max:   1774
        min:   2
        total: 1790
    Exchange Message Delivery
        cnt:   1
        max:   583
        min:   583
        total: 583
    Exchange MetaData Calls
        cnt:   5
        max:   412
        min:   87
        total: 1003
    IMAP Full Mime Message Calls
        cnt:   11
        max:   5
        min:   1
        total: 29
    IMAP MetaData Calls
        cnt:   3
        max:   89
        min:   0
        total: 120

1.2.6 Changes

  • Fixed logging to work with web-tool again... opps sorry

1.2.5 Changes

  • Use AllTrustingSLLSocketFactory for jaxws to get around java/MS PKI keystore incompatibility issues.

1.2.4 Changes

  • added Imap Folder exclusion list
  • Minor Logging/Error handling bug fixes

1.2.3 Changes

  • Does not convert messages from root folders named below and I log a warning messages alerting the fact:
    • Journal
    • Notes
    • Calendar
    • Contacts
    • Tasks
  • Increased logging on single message failures, i.e. invalid MIME Content
  • Removed code trying to get messages in parallel from a folder in IMAP - Doesn't work.

1.2.2 Changes

  • Minor Bug Fixes
  • Better Logging and Error Control

1.2.1 Changes

  • Minor Modifications for the web container
  • Statistics - # of Msgs moved and Size.
  • Logging to a file per User per PO
  • removed dependency of my jvm monitor tool (included in the web server)

1.2.0 Changes

  • Modified code to use Spring for initialization for easier use in web container
  • minor bug fixes

Requirements
Java 1.5
As much RAM as possible, 2G preferred.

imap2exchange-server

Current Version - N/A Please get it from subversion, modify the build.properties and the config files in WEB-INF and build the war.
Subversion (read-only) - http://tp.its.yale.edu/svn_public/email_conversion/imap2exchange-server/trunk

Notes on imap2exchange-server
There are 2 jsps that are Yale specific. They are the poFinder.jsp, and info.jsp. info.jsp should be easy to update for your implementation, but you can just remove poFinder.jsp from the menu.jsp to avoid it.

Labels

 
(None)