After a user has been successfully authenticated, Dovecot looks up the user's userdb information. The userdb lookup is also done by [:LDA:deliver] to find out how to deliver mails for the user.
The user database lookup returns these fields:
uid: User's [:UserIds#mailusers:UID] (UNIX user ID)
gid: User's [:UserIds#gids:GID] (UNIX group ID)
home: [:VirtualUsers#homedirs:Home directory]. Although not required, it's highly recommended even for virtual users (see the link).
mail: [:MailLocation:Mail location] (if needed to override the default mail_location setting)
Optional [:UserDatabase/ExtraFields:extra fields] which are sent to the IMAP/POP3 process in environment variables.
The user and [:PasswordDatabase:password databases] may be same or they may be different depending on your needs. You can also have [:Authentication/MultipleDatabases:multiple databases].
Currently supported user databases are:
[:AuthDatabase/Passwd:Passwd]: System users (NSS, /etc/passwd, or similiar)
[:AuthDatabase/PasswdFile:Passwd-file]: /etc/passwd-like file in specified location
[:UserDatabase/NSS:NSS]: Name Service Switch (v1.1+)
[:AuthDatabase/LDAP:LDAP]: Lightweight Directory Access Protocol
[:AuthDatabase/SQL:SQL]: SQL database (PostgreSQL, MySQL, SQLite)
[:UserDatabase/Static:Static]: Userdb information generated from a given template
[:AuthDatabase/VPopMail:VPopMail]: External software used to handle virtual domains
[:UserDatabase/Prefetch:Prefetch]: This assumes that the passdb already returned also all the required user database information