Hi,

I've almost finished my new director based setup, but in the first test I discovered that imap and lmtp connections were not always being proxied to the same server. After some research now I think that the main problem is that in imap connections users connect as 'username' while lmtp connections are as 'username@mailserver'.

In my current setup I receive mail via SMTP in my director servers (which are loadbalanced by a CISCO machine), and then they send them to dovecot running on localhost. I've tried to get rid of the @mailserver in postfix in a generic way with no success.

Is there any way to redirect connections based only in the local part of the address? Or there is a way to get rid of the @mailserver in the postfix -> lmtp connection?

Both doveadm config -n and postconf -n are attached.

Thanks.

$ doveadm config -n
# 2.1.8: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.17.1.el6.x86_64 x86_64 Red Hat Enterprise Linux Server release 6.2 (Santiago)
auth_debug = yes
auth_master_user_separator = *
auth_verbose = yes
director_mail_servers = buzones2.ehu.es buzones3.ehu.es
director_servers = director1.ehu.es director2.ehu.es
doveadm_proxy_port = 4444
lmtp_proxy = yes
mail_debug = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
passdb {
  args = proxy=y nopassword=y starttls=any-cert
  driver = static
}
protocols = imap pop3 lmtp sieve
service auth {
  unix_listener auth-userdb {
    user = dovecot
  }
}
service director {
  fifo_listener login/proxy-notify {
    mode = 0666
  }
  inet_listener {
    port = 3333
  }
  unix_listener director-userdb {
    mode = 0600
  }
  unix_listener login/director {
    mode = 0666
  }
}
service doveadm {
  inet_listener {
    port = 4444
  }
}
service imap-login {
  executable = imap-login director
}
service lmtp {
  inet_listener ltmp {
    address = director2.ehu.es 127.0.0.1
    port = 24
  }
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service managesieve-login {
  executable = managesieve-login director
  vsz_limit = 128 M
}
service pop3-login {
  executable = pop3-login director
}
ssl_cert = </etc/ssl/private/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
syslog_facility = local1
userdb {
  args = allow_allusers=yes
  driver = static
}
protocol lmtp {
  auth_socket_path = director-userdb
  mail_plugins = " sieve"
  syslog_facility = local2
}
protocol doveadm {
  auth_socket_path = director-userdb
}

$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
local_destination_concurrency_limit = 10
local_recipient_maps = ldap:/etc/postfix/ldap-local-recipients.cf proxy:unix:passwd.byname $alias_maps
mail_owner = postfix
mailbox_transport = lmtp:inet:localhost:24
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 15000000
mydestination = ehu.es, mailsever.ehu.es, othermailserver.ehu.es
mydomain = ehu.es
myhostname = director1.ehu.es
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
relayhost = [smtp.ehu.es]
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

Reply via email to