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
last_login: Last-login timestamp updating
lazy_expunge: Make EXPUNGE and DELETE commands just rename the mails elsewhere
listescape: Allow using characters in mailbox names that would otherwise be illegal
mailbox_alias: Map multiple names to the same mailbox.
mail_filter: Filter mails while reading/writing through a script
mail_log: Log several mail actions
notify: Wrapper plugin for easily developing other plugins that act on mailbox changes.
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
stats: Send statistics from mail processes to the stats process
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.
Pigeonhole Sieve: Use the Sieve language to perform actions upon message delivery, such as filtering, forwarding, vacation replies, notifications and many other actions. See the documentation for a full list.
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. Versions 2.x including the freshly released version 2.0.3 work with Dovecot 2.0.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.
extra-copies: allows extra copies of messages to be made in other folders whenever a message is added to a particular folder.
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.