The first thing that you must realize is that UW imapd was not developed for Cygwin; it was developed for UNIX. Cygwin gives a UNIX-like environment under Windows, but it is not UNIX. This fact is important in understanding various issues.

I should also note that there is a native Windows build. For those who want to use UW imapd under Windows, I recommend using the native build rather than Cygwin. Some things are known not to work under Cygwin, because Cygwin is not a complete/100% accurate implementation of UNIX.

On Sun, 29 Aug 2004, overbored wrote:
(1) I can log in, but I have no idea where the mail is. I can do an 'a examine inbox' (meaning 'inbox' exists, since 'a examine asdf' doesn't work), but where exactly is this inbox?

It is very possible that no file for INBOX exists. In that case, INBOX (which always exists in IMAP) is empty. UW imapd will notice when an INBOX file is created and messages are put in it, and then the IMAP INBOX will go non-empty.


Normally, an INBOX in UNIX will be the user's traditional UNIX format mailbox file in spool directory (e.g. /var/mail). This is one of those "not complete/100% accurate" issues that I alluded to above. An INBOX can also be one of several format-specific files (read the documentation about various mailbox formats); however note that only the mbx driver has been made to work under Cygwin and there are known Cygwin issues which break the other drivers.

Perhaps at this point you're starting to recognize why I suggest using a real UNIX system, or the native Windows build, rather than Cygwin...

'a list "" *' seems to recursively list everything under my home dir.

This is normal behavior, and is discussed in the FAQ.

(2) I'd like to migrate my existing mail store (mbox format) to this IMAP. From what I've read, it seems that UW-IMAP also stores its messages in mbox format. But there's also a program called tmail to inject messages into IMAP. Can I just copy over my existing mbox files to wherever IMAP stores the messages

Yes. tmail is for mail delivery. What you're doing is copying messages.

Note that the native Windows build can also read traditional UNIX mailbox format; although it would be better if you transfer those files in ASCII mode so they are in CRLF format.

(3) I would like to have mail coming from various POP accounts going into my IMAP mailboxes. I have learned how to use getmail; if I would like to use this with UW-IMAP, do I need to configure it to use tmail, or directly write to the mbox files?

I don't know anything about getmail.

I've read somewhere about locking issues; is this the reason why tmail is needed?

tmail is for mail delivery (being called from sendmail or whatever SMTP server you are using). That is not the same as copying mail from a POP server.


The locking issues are that Cygwin implements locking like Windows (surprise!) rather than like UNIX. The native Windows build knows about this, and the native Windows drivers use Windows style locking. The UNIX build, which is what Cygwin uses, thinks that locking is UNIX style, but in actuality Cygwin just has a subroutine which looks like UNIX style but actually is Windows style. Not the same thing.

The mbx driver has been kludged to work around the subtle differences, but the other drivers have not.

(4) (This is more of an IMAP protocol question.) I glanced at the RFC for IMAP. Is there the concept of views/search folders/dynamic filters? It seems that the 'mailbox' concept is like a folder, in that a message can only belong to one. The closest thing I could find was the attribute, but it was intended for things like 'read', etc.; can this be used for the above purpose, or is IMAP not a good protocol to use for searching?

I don't understand this question. Please rephrase it, and avoid the use of the word "folder" which has imprecise meaning. Use the term "mailbox" (a name that holds messages), "directory" (a name that holds other names), or "dual-use name" (a name that is both a mailbox and a directory).


- the 'root' user doesn't exist on my system (had to use SYSTEM)

Note that the UNIX version of UW imapd must be run as root and must be able to do a setuid to the target user. This, of course, has no meaning under Cygwin. Cygwin has a kludgy thing called cygwin_logon_user() which jackets into the Windows impersonation functionality which is actually quite different.


Once again, the native Windows build knows about all of this, and does the right thing.

As the author of UW imapd, I strongly recommend against using Cygwin as a platform for running it. Instead, you are best off running imapd on a real UNIX system. If you must use Windows, you are better off using the native build and dealing with the necessary customizations for your system, rather than hoping that Cygwin will do the right things for you.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.

Reply via email to