fetchExc project is java utilily which retrieves mail from your MS Exchange (2000/2003) inbox and forwards it to SMTP server of your choice or mbox type file.
FetchExc uses webDAV (OWA) to retrieve mail either over http or https. This is also means that you administrator must have left Outlook Webaccess available in Exchange in order to get this utility to work.
Although version number is still below 1.0 I consider this program usable in production environment.
There are still many places that should be polished and improved but atleast there haven't been major problems in over an half a year. Before you install read installation instructions from below carefully.
So far this only covers *nix systems (windows instructions may follow if they are needed)
Extract fetchExc-*.tar.gz or make directory for fetchExc.jar. If you are downloading Jakarta components yourself put them in the same directory as fetchExc.jar.
Create fetchExc.properties file in your home directory. Remember to protect it with chmod 700 (it contains your password). If you took .tar.gz package there should be example included.
ExchangeServer - Name of your MS Exchange server.
ExchangePath - Exchange path for MS Exchange OutLook WebAccess.
ExchangeUser - Name of you MS Exchange User.
You can test first three properties by making URL out of them: http://xxx.dddddd.com/exchange/exuser. This should give you a Outlook Webaccess Page.
MboxFile - Path and name of mbox-type mail box. This disables MailServer- and DestinationAddress-properties. Be careful with this because I'm not 100% sure that file locking works (YMMV). If there are problems let me know. Also success reports would be nice.
MailServer - Name of your SMTP Server which receives forwarded messages. If there is MboxFile defined this property won't be used.
DestinationAddess - Address of recipient of forwarded messages. If there is MboxFile defined this property won't be used.
Username - Username for your windows domain user. It may be same as ExchangeUser but necessarily.
Password - Password for domain user.
Domain - Domain for above user.
Delete - Whether program should delete mail from Inbox or just mark them as read. If Delete is true mail will be deleted after succesful forwarding. Any other value will just mark message as read. While you are configuring other properties I strongly recommend that you use value false for this property.
All - Whether program should real all mail from Inbox or just which are not read yet. If All is true every mail will be read. Any other value will read only unread mail. While you are configuring other properties I strongly recommend that you use value false for this property.
WARNING!!! Don't combine Delete=false and All=true if you are not testing. That will fetch every mail from your Inbox everytime you start the program.
Secure - If value is true program will use https. Any other value will use http. Https should be user whenever possible.
FBApath - Path to form based authentication. If not set defaults to /exchweb/bin/auth/owaauth.dll. This can be found on FBA login page source (hint: search for "destination")
ForceFrom - If this is set to true forwarded mail will be forwarded with address from ForceFromAddr parameter. This only happens when sender address is not valid. For example if there is two From: fields in mail header Exchange can join addresses. NOTE: This may help spam to get through so use carefully.
ForceFromAddr - E-mail address that forwarding server will accept. Only used if ForceFrom is true
NoEightBitMime - If this is true SMTP forwarding doesn't use BODY=8BITMIME. Default is false.
Now you just need to include JRE in you path. If it is in you path you can run program:
java -jar /install/fetchExc/fetchExc.jar
You can now (>0.80) use -p switch to change properties file. For example:
java -jar /install/fetchExc/fetchExc.jar -p test.properties
would run program using properties from test.properties
I use fetchExc with following little shell script and crontab entry so that it keeps fetching mail every two minutes.
java -jar /install/fetchExc/fetchExc.jar $* >> fetchExc.log 2>> fetchExc.err
If you use this script replace /usr/local/jre/bin with path to your java runtime environment. Same applies to location of your installation on next line.
*/2 * * * * ~jrauti/bin/fetchExc
What's New in This Release:
· Java has been changed from 1.4 to 1.5.
· The Jakarta HHTTP client has been upgraded from 2.0 to 3.0.
· Proxying also works with HTTPS.
· Code cleanups.
· A small fix in mbox saving (in Mac OS X, messages were coalesced).