Configuring Postfix (virtual_transport = dovecot)

Discussion in 'Server Operation' started by snowweb, Aug 14, 2012.

  1. snowweb

    snowweb New Member

    I've setup dovecot to use user/password files to store username and passwords and I'm able to login via roundcube successfully, which makes use of those files via dovecot.

    I have setup Postfix to use virtual_transport = dovecot so since dovecot is now able to see my maildirs, usernames and their associated passwords, I would expect Postfix to have all that it needs to authenticate users sending mail and to deliver incoming mail to their maildirs.

    That doesn't seem to be the case though and I wonder if someone can give me some pointers?

    I didn't use the following directives in the /etc/postfix/


    because dovecot already knows all those things and since we're using "virtual_transport = dovecot" I guess they are not needed?

    Here is my postconf -n output
    alias_database = hash:/etc/aliases                               
    alias_maps = hash:/etc/aliases                                   
    command_directory = /usr/sbin                                    
    config_directory = /etc/postfix                                  
    daemon_directory = /usr/libexec/postfix                          
    data_directory = /var/lib/postfix                                
    debug_peer_level = 2                                             
    default_destination_concurrency_limit = 5                        
    home_mailbox = Maildir/                                          
    html_directory = no                                              
    in_flow_delay = 1s                                               
    inet_protocols = all                                             
    local_recipient_maps =                                           
    mail_owner = postfix                                             
    mail_spool_directory = /var/mail                                 
    mailq_path = /usr/bin/mailq.postfix                              
    manpage_directory = /usr/share/man                               
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain                                                            
    myhostname = mail.bk1.server                                     
    mynetworks_style = host
    myorigin = $mydomain
    newaliases_path = /usr/bin/newaliases.postfix
    queue_directory = /var/spool/postfix
    readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
    sample_directory = /usr/share/doc/postfix-2.6.6/samples
    sendmail_path = /usr/sbin/sendmail.postfix
    setgid_group = postdrop
    smtpd_sasl_path = private/auth
    smtpd_sasl_type = dovecot
    unknown_local_recipient_reject_code = 550
    virtual_transport = dovecot
    here is my dovecot -n
    # OS: Linux 2.6.32-279.2.1.el6.x86_64 x86_64 CentOS release 6.3 (Final) ext4
    auth_mechanisms = plain login
    disable_plaintext_auth = no
    last_valid_gid = 1000
    mail_gid = 502
    mail_location = maildir:/var/mail/%d/%n/Maildir
    mail_uid = 501
    passdb {
      args = username_format=%u /etc/dovecot/users
      driver = passwd-file
    ssl = no
    userdb {
      args = username_format=%u /etc/dovecot/users
      driver = passwd-file
    verbose_proctitle = yes
    The server will be host to a few virtual domains.

    Thanks, I really appreciate your attention. :)

  2. tahunasky

    tahunasky New Member

    You need to tell postfix that dovecot is going to be your LDA (local delivery agent), so you need to edit the postfix/ file and put something like this in it:

    dovecot   unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/dovecot-lda -f {sender} -d ${recipient}
    You will also need to disable SELinux or find some way to make it work with dovecot as the LDA, i tried for ages and couldnt, so gave up.
    Last edited: Aug 20, 2012

Share This Page