"imap" command not usable in dovecot 2.4

Mark Hills via dovecot <[email protected]> Wed, 20 May 2026 17:18:00 +0100 (BST)
Newsgroups gmane.mail.imap.dovecot
Message-ID <[email protected]>
Since upgrading to 2.4 (from 2.3) the "imap" command no longer works:

  $ /usr/libexec/dovecot/imap
  * PREAUTH [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE REPLACE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW SPECIAL-USE STATUS=SIZE SAVEDATE COMPRESS=DEFLATE INPROGRESS NOTIFY LITERAL+] Logged in as mark
  imap(mark)<6109><5GlNEEHaDWrdFwAABxE9Dg>: Fatal: Namespace inbox: mail_storage settings: Failed to parse configuration: Invalid setting mail_path=~/Maildir: mail_path setting used home directory (~/) but there is no mail_home and userdb didn't return it

Whereas I would expect an authenticated IMAP session.

Removing the offending /etc/dovecot.conf line temporarily:

  dovecot_config_version = 2.4.1
  dovecot_storage_version = 2.4.0
  protocols = imap lmtp sieve
  mail_driver = maildir
  #mail_path = ~/Maildir

  passdb passwd-file {
      passwd_file_path = /etc/dovecot/passwd
  }

  userdb passwd {
  }

  [...]

And re-testing suggests the cause runs deeper:

  $ /usr/lib/exec/dovecot/imap
  [...]
  imap(mark)<6364><tetIC6/aDWrcGAAABxE9Dg>: Fatal: Namespace inbox: mail_storage settings: Failed to parse configuration: Failed to expand mail_path setting variables: Setting used home directory (%h) but there is no mail_home and userdb didn't return it

Attempts to hard-wire it seem to suggest that usedb is not involved. I 
imagine this may be not consulted, because the process is 
pre-authenticated and running as a local UID:

  userdb passwd {
      fields_import_all = no
      fields {
          mail_home = /home/mark
          mail_path = /home/mark/Maildir
      }
  }

  $ /usr/libexec/dovecot/imap
  [...]
  imap(mark)<6656><qPqUB17cDWoAGgAABxE9Dg>: Fatal: Namespace inbox: mail_storage settings: Failed to parse configuration: Failed to expand mail_path setting variables: Setting used home directory (%h) but there is no mail_home and userdb didn't return it

It seems like 2.3 looked up these fields from the user invoking it, but 
no longer is this the case?

Running "imap" like this is very useful, especially when a client like 
Pine/Alpine can access over SSH.

To get to here I had to workaround the missing "shadow" passdb module, 
which is also useful as Alpine Linux 3.23 neither uses PAM extensively nor 
provides dovecot built with PAM.

-- 
Mark
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]