IMAP to OWA proxy V0.3

This application is now obsolete. It has been replaced by the OWA Sync package which provides a much more robust solution.

I have written a TCL application using the OWA package which provides access to an OWA server from IMAP clients. This application has been written to meet my particular needs to get access to my work email from a Palm mail client (Agendus Mail).

This is not an IMAP-compliant server. Large parts of the IMAP protocol are not implemented -- in particular, the server makes no changes to the OWA environment (setting or clearing flags, deleting messages, adding new messages, etc.).

I am interested in whether it works with other clients. And I am interested in including updates to add more capabilities and to make it work with more clients. However, I make no promises as to whether it will work for you!

For security reasons, I strongly recommend that you should set this up to use its own account, which can neither read nor write other files. I make no guarantees that clients cannot find a way to execute arbitrary TCL commands and/or exploit bugs.

Copyright (C) 2005 Graham R. Cobb

IMAP2OWA is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

IMAP2OWA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The latest version can be downloaded from here.


If you want to set this up to run from inetd/xinetd you will need to create a shell script and a small TCL script.

The shell script will need to do something like:

tclkit imap2owa-inetd.tcl

where imap2owa-inetd.tcl contains something like:

source imap2owa.tcl

Note: imapRunFromInetd creates a log file (named ~/imap2owa-log-$pid.log).

If the client issues the DEBUG command, logging happens back to the client (using untagged responses, which the client should ignore but some do not). This is particularly useful when connecting manually to test something.


In version 0.1

Initial release.

In version 0.2

In version 0.3

Contacting me

Please contact me by email on owa-tcl AT

This page has been accessed Access counter times.

Graham Cobb