You should configure Postfix to deliver e-mails using Dovecot LMTP or Dovecot LDA - so dovecot does the storing of the e-mail, postfix should only validate SMTP incoming traffic and hand the e-mail to Dovecot for it to be stored.
mail_location
in dovecot can have many different values, depending on what type of mailbox (mdbox, sdbox, maildir etc.) you prefer. I would suggest dbox (mdbox/sdbox) but it's up to you to find the best to suite your needs.
Everything is pretty well explained on Dovecot's wiki. See http://wiki2.dovecot.org/LDA/Postfix and http://wiki2.dovecot.org/MailboxFormat/.
Edit:
1) you need to have postfix configured to accept e-mail with SMTP, check it for SPAM etc. an eventually to decide what transport (defer, reject, another SMTP server, local delivery etc.) to use for given incoming e-mail
2) configure dovecot to listen for LMTP connections, on Gentoo it is in file conf.d/10-master.conf:
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
(in conf.d/20-lmtp.conf you can modify dovecot's LMTP protocol, e.g. enable sieve filtering)
3) whatever configuration you use, the Postfix's transport for e-mails, that should be stored to dovecot, would be something like:
virtual_transport = lmtp:unix:$queue_directory/private/dovecot-lmtp
This would transport the e-mail to Dovecot's LMTP and Dovecot would validate the recipient against passdb / userdb and finally store it.
This is LMTP approach, older LDA is almost the same in Dovecot's configuration and slightly different on Postfix's side.
Regarding mail_location:
Dovecot works with userdb / passdb - databases of local clients; it can have many sources, plain text files, system files or users from SQL.
Both userdb / passwd can indicate per-user mail_location, or you can have global settings for all users, for example:
mail_location = mdbox:~/mdbox
meaning that all users' e-mails should be stored in mdbox format to directory "mdbox" inside user's home.
User's home is defined with mail_home, e.g.
mail_home = /var/spool/mail/%d/%n (translates to /var/spool/mail/example.com/user)
or
mail_home = /var/mail/%u (translates to /var/mail/user@example.com)