Postfix: unlimited per-user addresses via "+" sign

Solution 1:

Apart from setting

recipient_delimiter = +

I also had to modify master.cf, so that maildrop gets not only the recipient passed, but the real user:

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=Debian-exim argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}

Blog post: http://cweiske.de/tagebuch/postfix-plus-addressing.htm

Solution 2:

You did not say what mail server is storing your emails. These days, it should be one of the IMAP servers - like Cyrus, Dovecot, Courier, ...

I personally like Cyrus IMAP. It supports this with relative ease:

Plus addressing - allows direct delivery to a particular mailbox (other than an INBOX). This is done via an address of the form: username+mailfolder@domain, which will deliver to the user's INBOX.mailfolder folder (or altnamespace equivalent). This submailbox must allow the posting user the 'p' right.

Adding 'p' right is important step - otherwise all mail (using + or not) will be delivered to username INBOX.

Note that you should use LMTP (local mail transport protocol) to deliver your mail from postfix to IMAP server and also need to configure postfix recipient_delimiter (or recipient_delimiters) as described here:

recipient_delimiter = +

Solution 3:

The master.cf line for Dovecot:

dovecot   unix  -       n       n       -       -       pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver
 -f ${sender} -a ${recipient} -d ${user}@${domain}

With Postfix 2.4 and earlier, use ${nexthop} instead of ${domain}

http://wiki2.dovecot.org/LDA/Postfix