[Dovecot] Using dovecot as LDA for postfix

Farzad Mahdikhani farzad_itm at yahoo.com
Mon Oct 14 19:43:31 EEST 2013


Hi

Here is my environment:
Red Hat Enterprise Linux Server release 5.7 (Tikanga)
postfix-2.9.1-1.rhel5
dovecot 1.0.7

I want to config a complete postfix-dovecot mail server. First I configured postfix to use procmail, its default LDA and dovecot for pop3 and imap. I didn't changed main.cf a lot, just myhostname and a few other properties. I didn't set home_mailbox. About dovecot.conf here is the output of dovecot -n :
 
# 1.0.7: /etc/dovecot.conf
log_path: /var/log/dovecot.log
protocols: imap pop3
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
mail_debug: yes
mail_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(pop3): /usr/libexec/dovecot/pop3
mail_plugin_dir(default): /usr/lib64/dovecot/imap
mail_plugin_dir(imap): /usr/lib64/dovecot/imap
mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3
auth default:
  mechanisms: plain login
  passdb:
    driver: pam
  userdb:
    driver: passwd

As you can see mail_location is not set. At this time everything was OK and working. I was able to send email using SquirrelMail and thunderbird. I got two users, user1 and user2, in my linux machine and when I sent an email from user1 at software.com to user2 at software.com the sent mail was saved in /home/user1/mail/Sent and the received email was in /var/mail/user2. The log file for dovecot had entries like this for user1 and user2:

dovecot: Oct 14 14:44:52 Info: IMAP(user1): maildir: couldn't find root dir
dovecot: Oct 14 14:44:52 Info: IMAP(user1): mbox: root exists (/home/user1/mail)
dovecot: Oct 14 14:44:52 Info: IMAP(user1): mbox: INBOX exists (/var/mail/user1)
dovecot: Oct 14 14:44:52 Info: IMAP(user1): mbox: root=/home/user1/mail, index=/home/user1/mail, inbox=/var/mail/user1

At this point I tried to change the LDA from procmail to dovecot by the following settings:

I added/changed the following in the main.cf:

mailbox_command = /usr/libexec/dovecot/deliver
dovecot_destination_recipient_limit = 1
virtual_mailbox_domains = software.com
virtual_transport = dovecot


I added the following in the master.cf:

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

But it didn't work. When I send email from from user2 to user1 the sent email is correctly saved in /home/user2/mail/Sent but it seems that user1 doesn't receive the incoming email. dovecot.log had entries like the following:

dovecot: Oct 14 14:54:04 Info: imap-login: Login: user=<user1>, method=PLAIN, rip=::ffff:172.27.7.8, lip=::ffff:172.16.100.183, TLS
dovecot: Oct 14 14:54:04 Info: IMAP(user1): Effective uid=504, gid=504, home=/home/user1
dovecot: Oct 14 14:54:04 Info: IMAP(user1): maildir: access(/home/user1/Maildir, rwx): failed: No such file or directory
dovecot: Oct 14 14:54:04 Info: IMAP(user1): maildir: couldn't find root dir
dovecot: Oct 14 14:54:04 Info: IMAP(user1): mbox: root exists (/home/user1/mail)
dovecot: Oct 14 14:54:04 Info: IMAP(user1): mbox: INBOX exists (/var/mail/user1)
dovecot: Oct 14 14:54:04 Info: IMAP(user1): mbox: root=/home/user1/mail, index=/home/user1/mail, inbox=/var/mail/user1

Setting home_mailbox = Maildir/ in main.cf and mail_location = maildir:~/Maildir in dovecot.cf didn't help. I have been googling and reading and testing for 4 or 5 days for this but there was no chance. Now, I am stuck and any help would be really really appreciated.

Regards,
Ferez


More information about the dovecot mailing list