Exchange Sync will read data from your Exchange account and export flagged emails (not Exchange tasks) to Remember The Milk, and calendar appointments to Google Calendar. It will not modify data in your Exchange account in any way. Google has a similar service for Windows users called Google Calendar Sync. This application can be considered Google Calendar Sync for Linux and Mac (but will also work on Windows), with the additional Remember The Milk functionality.
- Create a folder in your home directory called exchange-sync.
- Download the release jar to ~/exchange-sync.
- Download the sample properties file to the same folder.
- Modify exchangesync.properties file as follows:
- Set exchangeHost to the hostname you usually use to access Outlook Web Access.
- Set exchangeDomain, exchangeUsername, and exchangePassword to your Microsoft Exchange domain, username, and password.
- Set rtmListName to the name of the Remember the Milk list that you want to export tasks to.
- Set googleCalendarName to the name of the Google Calendar that you want to export appointments to. This should match one of the calendar names under the "My Calendars" list on the left-hand side of your Google Calendar view.
- Create a symlink to the jar to simplify upgrades:
ln -s ~/exchange-sync/exchangesync-1.0.6-SNAPSHOT-jar-with-dependencies.jar ~/exchange-sync/exchangesync.jar
- Execute
env EDITOR=nano crontab -e
and add the following line:*/30 * * * * java -jar ~/exchange-sync/exchangesync.jar > ~/exchange-sync/exchangesync.log 2>&1
Setting | Example | Description |
---|---|---|
syncTasks | true | Determines whether flagged Exchange emails will be exported to Remember the Milk. |
syncAppointments | true | Determines whether Exchange calendar appointments will be exported to Google Calendar. |
exchangeHost | mail.sample.com | The host name of your Exchange mail host. |
exchangeUsername | username | Your Exchange username. |
exchangeDomain | COMPANY | Your Exchange domain. |
exchangePassword | password | Your Exchange password. |
exchangeVersion | Exchange2010_SP1 | Your Exchange version. Must be one of: Exchange2007_SP1, Exchange2010, Exchange2010_SP1. Leave blank if not sure or if you have a version newer than Exchange 2010 SP1. |
rtmListName | Inbox | Name of the Remember The Milk list where you want tasks to be created. |
googleCalendarName | Work Calendar | Name of the Google calendar where you want appointments to be created. |
usingProxy | false | Determines whether Internet access is via an HTTP proxy. |
proxyHost | 192.168.1.2 | IP address or host name of the HTTP proxy server. |
proxyPort | 3128 | Port number of the HTTP proxy server. |
obfuscateAttendeeEmails | true | Determines whether organizer and attendees on Google Calendar appointments should be obfuscated to prevent Google from emailing those users when calendar appointments change. |
googleSyncOrganizerAndAttendees | true | Determines whether organizer and attendees should be populated on Google Calendar appointments. Some users have reported that this causes a "Calendar Usage Limits Exceeded" message. |
appointmentMonthsToExport | 1 | Number of months in the future to export appointments for. |
- Install Maven and Git:
sudo apt-get install maven git
- Change to your home folder:
cd ~
- Download the source:
git clone https://github.com/gdenning/exchange-sync.git
- Change to the exchange-sync folder:
cd exchange-sync
- Modify exchangesync.properties as follows:
- Set exchangeHost to the hostname you usually use to access Outlook Web Access.
- Set exchangeDomain, exchangeUsername, exchangePassword to your Microsoft Exchange domain, username, and password.
- Set rtmListName to the name of the Remember the Milk list that you want to export tasks to.
- Set googleCalendarName to the name of the Google Calendar that you want to export appointments to. This should match one of the calendar names under the "My Calendars" list on the left-hand side of your Google Calendar view.
- Copy exchangesync.properties to your home folder:
cp exchangesync.properties ~/exchangesync.properties
- Compile the application:
mvn install
- Create a symlink to the application in your home directory:
ln -s ~/exchange-sync/target/exchangesync-1.0.6-jar-with-dependencies.jar ~/exchangesync.jar
- Execute
env EDITOR=nano crontab -e
and add the following line:*/30 * * * * java -jar ~/exchange-sync/exchangesync.jar > ~/exchange-sync/exchangesync.log 2>&1