[Dovecot] mdbox and folders containing both messages and sub-folders

Rich Wales richw at richw.org
Sun Apr 7 22:42:41 EEST 2013


Replying to Timo Sirainen:

> But didn't you say Larch was giving some errors already?

Yes, but the Larch error message said only "mailbox cannot contain messages",
followed by the name of the folder into which it couldn't store a message.

I looked at the Larch source code (written in Ruby, a language I have never
used and don't really know at all), and this particular error message appears
to be generated when Larch is unable to select or create a given mailbox.
Exactly what the IMAP rejection response from Dovecot is, I can't tell; it's
not being reported anywhere as far as I can see.

> Maybe Larch has some mbox-specific code and it thinks that dbox looks
> similar..

Larch isn't accessing Dovecot's internal mailbox structure at all -- it's just
talking to the IMAP server.  I'm not sure what sort of "mbox-specific code"
could be involved in such a scenario.  Is there anything about mbox vs. dbox
that would be reflected in the way a Dovecot server behaves when using IMAP?

I think what I really need here is a way to look at the actual, literal IMAP
commands and responses (not just abstract interpretations of the errors from
Dovecot, Larch, or any other program).  Without that information, I don't see
how I can tell what the problem is, or whether it's in Dovecot or Larch.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Replying to Robert Schetterer:

>> Is there a way to make Dovecot report all IMAP commands and responses, so I
>> can see exactly what the client is asking for, and exactly why Dovecot is
>> refusing to do it?
> 
> verbose logging and mail logger plugin
> 
> http://wiki2.dovecot.org/Logging
> http://wiki2.dovecot.org/Plugins/MailLog

I enabled these -- at least, I think I did; see my "doveconf -n" output below
-- but I'm still not getting a full description of the IMAP commands and
responses.  Is there any way to see the actual, literal IMAP dialogue?

>> Alternatively, does anyone here know Ruby (the language Larch is written in)
>> well enough to say how to make its low-level IMAP module give a full logging
>> of all commands and responses?
> 
> no, perhaps try imapsync, it [has always] worked for me

I'm confused by the licensing status of Imapsync.  The "official" web site for
Imapsync says it is a commercial product (50 EUR).  I found another web site
(fedorahosted.org) that claims to have the latest Imapsync as a free download,
but I'm unsure as to whether this copy is legitimate or pirated.  Can anyone
clear this up for me?  I had originally preferred to use Imapsync, but I'm not
prepared to pay 50 EUR for it, and I don't want to use a pirated "free" copy.

> show dovecot conf and log

OK, see below for my current output of "doveconf -n".  Note that I'm trying out
Maildir right now; when I was using mdbox, my "mail_location" configuration
line read as follows:

    mail_location = mdbox:~/mdbox:DIRNAME=.indexes:INDEX=~/mdbox/indexes

or like this:

    mail_location = mdbox:~/mdbox:DIRNAME=.indexes

As for the log output (in /var/log/mail.log), there were no error messages of
any kind.  There were a bunch of "Debug: Namespace" messages saying "<path>
doesn't exist yet, using default permissions", but that's all.  I'm including
(see below) an excerpt from my log output, showing the results of one session.

Again, I'm assuming at this point that I'm going to need to see the literal,
low-level IMAP commands and responses before I can tell if this is a bug in
Dovecot, a bug in Larch, or something else.

Rich Wales
richw at richw.org

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

# 2.2.rc5 (c24783148d78): /etc/dovecot/dovecot.conf
# OS: Linux 3.5.0-26-generic x86_64 Ubuntu 12.04.2 LTS
auth_verbose = yes
mail_debug = yes
mail_location = maildir:~/Maildir
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = .
}
passdb {
  driver = pam
}
plugin {
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  mail_log_fields = uid box msgid size
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap"
ssl_cert = </etc/apache2/ssl/pigeon.pem
ssl_key = </etc/apache2/ssl/pigeon.pem
userdb {
  driver = passwd
}
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
  mail_plugins = " mail_log notify"
}

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

imap-login: Login: user=<randerzo>, method=PLAIN, rip=127.0.0.1,
lip=127.0.0.1, mpid=29976, secured, session=<vZi1RrjZFgB/AAAB>
imap(randerzo): Debug: Effective uid=5006, gid=5006, home=/home/mail/randerzo
imap(randerzo): Debug: Namespace inbox: type=private, prefix=, sep=.,
inbox=yes, hidden=no, list=yes, subscriptions=yes
location=mdbox:~/mdbox:DIRNAME=.indexes
imap(randerzo): Debug: fs: root=/home/mail/randerzo/mdbox, index=, indexpvt=,
control=, inbox=, alt=
imap(randerzo): Debug: Namespace : /home/mail/randerzo/mdbox doesn't exist
yet, using default permissions
imap(randerzo): Debug: Namespace : Using permissions from
/home/mail/randerzo/mdbox: mode=0700 gid=default
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/Hamumu doesn't exist yet,
using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace : /home/mail/randerzo/mdbox/mailboxes/INBOX
doesn't exist yet, using default permissions
imap(randerzo): Debug: Namespace : Using permissions from
/home/mail/randerzo/mdbox: mode=0700 gid=default
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Drafts doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/Big Fish Games doesn't exist
yet, using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Archives doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Sent doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/Photobucket doesn't exist yet,
using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Junk doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Archives/2012 doesn't exist yet,
using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Archives/2011 doesn't exist yet,
using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/DragonFable doesn't exist yet,
using default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/2008 doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/2007 doesn't exist yet, using
default permissions
imap(randerzo): Debug: Namespace :
/home/mail/randerzo/mdbox/mailboxes/INBOX/Trash/2006 doesn't exist yet, using
default permissions
imap(randerzo): Connection closed in=115500468 out=136980

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Rich Wales
richw at richw.org


More information about the dovecot mailing list