Hello,

On a fresh install of Jessie, I achieve to make dovecot/postfix working with SQL, but I still can't send email to alias for wich one I get : "Unknown user"

After debug enable in dovecot, I see that the user_query SQL , just query for the "users" table and not the "forward" table so the final alias user is not known.

But when I check postfix for alias, it seems ok :

root@cluster-dovecot:/etc/dovecot# postmap -q conta...@xxxxxxxx.com mysql:alias_maps
cont...@xxxxxxxxxx.com

So what do I missed for alias working with dovecot ?

Do I need a special conf in master.conf for sending alias AND final recipient or do I have to change the dovecot user_query for taking in acount the "forward" table in the SQL query ? .... or other thing I could miss ...

Thanks a lot ...

Samuel.

DOVECOT :

root@cluster-dovecot:/etc/dovecot# dovecot --version
2.2.13

root@cluster-dovecot:/etc/dovecot# dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.0
auth_debug_passwords = yes
auth_mechanisms = plain login
dict {
  quota = mysql:/etc/dovecot/dovecot-dict-sql-user.conf
  quota_domain = mysql:/etc/dovecot/dovecot-dict-sql-domain.conf
}
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_debug = yes
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_plugins = quota fts fts_solr acl zlib mail_log notify
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
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  quota = dict:user::proxy::quota
  quota2 = dict:domain:%d:proxy::quota_domain
  quota_grace = 1M
  quota_warning = storage=100%% quota-warning 100 %u
  quota_warning2 = storage=95%% quota-warning 95 %u
  quota_warning3 = storage=80%% quota-warning 80 %u
  quota_warning4 = -storage=100%% quota-warning below %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = imap pop3 sieve lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = mail
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    mode = 0660
    user = vmail
  }
  unix_listener auth-userdb {
    mode = 0660
    user = vmail
  }
}
service dict {
  unix_listener dict {
    mode = 0666
    user = dovecot
  }
}
service imap-login {
  inet_listener imap {
    address = *
    port = 143
  }
  inet_listener imaps {
    address = *
    port = 993
  }
  process_limit = 256
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service managesieve {
  process_limit = 1024
}
service quota-status {
  executable = quota-status -p postfix
  inet_listener {
    port = 12340
  }
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    mode = 0666
    user = vmail
  }
  user = vmail
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol lmtp {
  mail_plugins = " sieve"
}
protocol lda {
  mail_plugins = " quota sieve"
}
protocol imap {
  mail_plugins = " quota imap_quota"
}

POSTFIX :

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
alias_maps_dbname = $mysql_dbname
alias_maps_hosts = $mysql_host
alias_maps_password = $mysql_passwd
alias_maps_select_field = destination
alias_maps_table = forwards
alias_maps_user = $mysql_user
alias_maps_where_field = source
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
dovecot_destination_concurrency_limit = 1
dovecot_destination_recipient_limit = 1
gid_maps_dbname = $mysql_dbname
gid_maps_hosts = $mysql_host
gid_maps_password = $mysql_passwd
gid_maps_select_field = gid
gid_maps_table = users
gid_maps_user = $mysql_user
gid_maps_where_field = concat(username,'@',domain)
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_domains_dbname = $mysql_dbname
mailbox_domains_hosts = $mysql_host
mailbox_domains_password = $mysql_passwd
mailbox_domains_select_field = domain
mailbox_domains_table = domains
mailbox_domains_user = $mysql_user
mailbox_domains_where_field = domain
mailbox_maps_dbname = $mysql_dbname
mailbox_maps_hosts = $mysql_host
mailbox_maps_password = $mysql_passwd
mailbox_maps_select_field = home
mailbox_maps_table = users
mailbox_maps_user = $mysql_user
mailbox_maps_where_field = concat(username,'@',domain)
mailbox_size_limit = 0
maximal_queue_lifetime = 1d
mydestination = cluster-dovecot.ingescom.com, localhost.ingescom.com, , localhost
myhostname = cluster-dovecot.ingescom.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
mysql_dbname = mail
mysql_host = 10.40.30.1
mysql_passwd = mail_admin
mysql_user = mail_admin
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_delay_reject = yes
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:12340
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
uid_maps_dbname = $mysql_dbname
uid_maps_hosts = $mysql_host
uid_maps_password = $mysql_passwd
uid_maps_select_field = uid
uid_maps_table = users
uid_maps_user = $mysql_user
uid_maps_where_field = concat(username,'@',domain)
virtual_alias_maps = mysql:alias_maps
virtual_gid_maps = mysql:gid_maps
virtual_mailbox_base = /
virtual_mailbox_domains = mysql:mailbox_domains
virtual_mailbox_limit = 1024000000
virtual_mailbox_maps = mysql:mailbox_maps
virtual_minimum_uid = 2000
virtual_transport = dovecot
virtual_uid_maps = mysql:uid_maps

master.conf : (I tried several conf)

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

Reply via email to