Symptoms
The file system layout in Qmail is no longer based on the mailbox address as of POA 5.0. It is now looks like a/a/$number-$othernumber
Cause
In POA 5.0, support for multiple mailbox aliases has been implemented, with an option to change the primary mail address.
The file system layout has been changed:
- For mailboxes, it is based on mailname_id, not on hosting_id, in order to eliminate dependency on the primary email address.
- For maillists, it is still based on domain_namehash (old behavior).
- For <all domain> entries, it is based on hosting_id (old behavior). Note that no file content is moved during the upgrade to version 5.0:
- New mailboxes will be created in the new layout.
- Existing mailboxes will stay in the old layout.
Resolution
For active mailboxes:
In order to help locate mailboxes on FS, the new utility mailbox_dir
is now placed in the Qmail bin/ folder.
The utility requires a special environment, as it gets information from the LDAP server. The environment can be set in the shell as follows:
. /usr/local/qmail/shared/control/ldap_settings
Thus, the full command for locating the mailbox looks like this:
. /usr/local/qmail/shared/control/ldap_settings && /usr/local/qmail/bin/mailbox_dir <mailbox@address>
This command will output the path to the maildir.
For deleted mailboxes, e.g. in case something needs to be restored from backup:
Use domainhash
utility:
# /usr/local/qmail/bin/domainhash <domain.tld>
It will output the directory that the files like SHARED-INDEX are located, which are the symlinks to needed files, and using such symloinks provider may try to locate the needed files in backup