[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Postfix comportement étrange



Bonjour à tous,

Je bloque depuis quelques jours avec une config de postfix que je n'arrive pas à faire fonctionner (avec dovecot) :

Durant le RCPT de postfix, je récupère le statut du quota via le "service quota" de dovecot .... un service de quota qui ne prend pas en compte les alias, seulement les boîtes finales.

J'ai donc une règle :

smtpd_recipient_restrictions = reject_sender_login_mismatch check_policy_service inet:127.0.0.1:12340

Mon problème est que ce policy_check envoie l'alias pour vérification des quota et non pas le véritable email final d'où un echec avec comme réponse : "Unknown user" ... seulement pour les alias.

Je ne comprends pas car l'option suivante n'est pas activée, et postfix est sensé effectuer le mapping de l'alias :

#receive_override_options = no_address_mappings

Une idée pour mapper un alias avant de l'envoyer à mon check_policy ?

Merci d'avance.
Samuel.

root@cluster-dovecot:/etc/postfix# postconf -n
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
ip_maps_dbname = $mysql_dbname
ip_maps_hosts = $mysql_host
ip_maps_password = $mysql_passwd
ip_maps_query = select ip from users where email='%u@%d' or email=(select destination from forwards where source='%u@%d');
ip_maps_table = users
ip_maps_user = $mysql_user
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.XXXXX.com, localhost.XXXXXXX.com, , localhost
myhostname = cluster-dovecot.XXXXXXXXXX.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 =
sender_dependent_default_transport_maps = mysql:ip_maps
sender_maps_dbname = $mysql_dbname
sender_maps_hosts = $mysql_host
sender_maps_password = $mysql_passwd
sender_maps_query = select email from users WHERE email='%u@%d' or email=(select destination from forwards where source='%u@%d');
sender_maps_table = users
sender_maps_user = $mysql_user
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 = reject_sender_login_mismatch check_policy_service inet:127.0.0.1:12340
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:sender_maps
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


Reply to: