Distributed with Dovecot:
acl: Access Control Lists for mailboxes
autocreate: Automatically create/subscribe mailboxes when user logs in
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
snarf: UW-IMAP style (mbox) snarfing, i.e. keeps moving all mails from one mailbox to INBOX
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 is tested to work with Dovecot 1.1.x and 1.2.x. As there are no incompatible changes in Dovecot 2.0 plugin code, it is expected to work on Dovecot 2.x too.
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.