Distributed with Dovecot:
acl: Access Control Lists for mailboxes
autocreate: Automatically create/subscribe mailboxes when user logs in
convert: Convert user's mailboxes from one format to another on login
expire: Delete mails from specified mailboxes after a designated number of days
fts: Full text search indexing
lazy_expunge: Make EXPUNGE and DELETE commands just rename the mails elsewhere
listescape: Allow using characters in mailbox names that would otherwise be illegal
mail_log: Log several mail actions
mbox_snarf: UW-IMAP style mbox snarfing from /var/mail/%u to ~/mbox
quota: Quota tracking and enforcing
- imap_quota: IMAP commands for requesting current quota
trash: Delete mails from Trash when user would go over quota
virtual: Virtual mailboxes
zlib: Access compressed mails
antispam: Integrates spam learning into Dovecot
drac: Pop-before-SMTP plugin using DRAC
alert: Send IMAP ALERT message from /etc/dovecot.alert.
Fetchmail wakeup: Wakes fetchmail when Dovecot looks for new mail. This is a heavily extended and updated version that works with Dovecot 1.1.x and 1.2.x
Fetchmail wake: Wakes fetchmail when Dovecot looks for new mail. This is the original version that only works with dovecot 1.0.x
deleted-to-trash: Automatically move deleted item to trash folder, if client side doesn't do it, such as outlook and evolution.
xexec: Execute any server side application and communicate with it through plugins over IMAP
To enable / disable plugins per user you can make your userdb return mail_plugins extra field. See UserDatabase/ExtraFields for examples.