On Tue, 18 Sep 2007, Timothy Murphy wrote:
On Tue 18 Sep 2007, Bill Cole wrote:
A concrete example of an actual mail setup and how this is seen by an IMAP client would have been much more useful, in my view.
Aside from creating the top-level Maildir directory and telling whatever your delivery agent is where to find it (and perhaps telling Dovecot, if it is a strange place...), you don't need to set any of the Maildir structure up or go digging into it on the filesystem level. Dovecot presents an Inbox to IMAP clients, and IMAP clients can tell Dovecot to create whatever logical directory structures the user wants.
Surely it would take far less time to give your actual setup than it would to explain (at length) how easy it is to set it up ...
I'm inferring, since I'm not the original respondent, but it seems to me Bill is simply warning you about mucking about in the Maildir. And, if you weren't apparently having trouble with procmail delivery, it would be a valid point (Roughly, “Stay out of dovecot and your MDA's business, or you risk breaking things.”).
Here is my server directory setup: ~/Maildir/[cur,new,tmp], ~/Maildir/.Family/[cur,new,tmp], etc.
My dovecot.conf sets mail_location = maildir:~/Maildir/
My .procmailrc sets MAILDIR=/var/spool/mail DEFAULT=$HOME/Maildir/
I cannot see the Family folder from my IMAPS client.
Are you saying it differs from IMAP to IMAPS or merely stating that you're using an IMAPS client?
Also it complains of the lack of .INBOX.directory ("Could Not Determine Resource Status").
“it” = your IMAPS client or procmail?
For what it's worth, my setup:
# Note the lack of a trailing slash. # Pretty sure it shouldn't make a difference, since you've qualified it as # Maildir already with the ‘maildir:’ prefix, but...
mail_location = maildir:~/Maildir
namespace public { separator = / prefix = Shared/ location = maildir:/var/mail/Shared:CONTROL=~/Maildir/control/public:INDEX=~/Maildir/index/public } namespace private { separator = / prefix = inbox = yes }
Thus, my folders are also: ~/Maildir/{cur,tmp,new} ~/Maildir/.Junk E-mail/{cur,tmp,new} ... etc. ...
Plus: /var/mail/Shared/{cur,tmp,new} /var/mail/Shared/.subfolder/{cur,tmp,new} ... etc. ... # For more info on the shared folders: # http://wiki.dovecot.org/SharedMailboxes#line-49
I could be wrong, but your .procmailrc MAILDIR setting doesn't look right to me. I know it's unrelated to Maildir-the-format, but is there some reason you're starting in the mail spool directory? Part of the point (in my eyes) of using Maildir-the-format is that it avoids having a world-writable vsm directory. ( See second bullet point at: http://cr.yp.to/qmail/vsm.txt )
For more info on procmail and MAILDIR: See Step 4 below this: (closest anchor; should scroll down a bit) http://www.ii.com/internet/robots/procmail/qs/#rcDOTtesting
Specifically: “Make sure you replace MAILDIR=$HOME/Msgs with the directory where your personal (non-system-spool) mailboxes are stored and that this directory exists and is writable by your LOGNAME. The MAILDIR variable specifies Procmail's working directory and all relative paths are relative to this directory.”
The error message you quoted makes me think you used a relative path somewhere and that you can't create the .INBOX.directory{,/{cur,new,tmp}} folders underneath /var/spool/mail.
Part of my own .procmailrc: # Note that I don't explicitly set MAILDIR... # ...but I also never use an unqualified path (I always prepend $DEFAULT)
DEFAULT=$HOME/Maildir/
# an example rule: :0
- ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* $DEFAULT.Junk\ E-mail/
Best, Ben