[Dovecot] What is your dovecot setup?

Benjamin R. Haskell dovecot at benizi.com
Tue Sep 18 06:48:19 EEST 2007


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


More information about the dovecot mailing list