Postfix : virual map ne fonctionne pas avec sendmail

Bonjour,

J’ ai installé un serveur avec une Debian + Postfix, Dovecot, MySQL, Postfixadmin, Amavis, Spamassassin, Apache, etc.
Pour cela, j’ai notamment utilisé cet excellent tuto sur isalo.org.
Postfix est utilisé en virtuel avec MySQL, et piloté par Postfixadmin pour avoir une interface facile à utiliser.
J’ai également installé le gestionnaire de listes Sympa, et j’ai mis des règles de transport spéciales pour Orange (trouvées ici).

Tout fonctionne parfaitement bien depuis plusieurs mois sauf que les adresses virtuelles ne sont pas reconnues en utilisant sendmail. Ça pose surtout problème pour les mails envoyés par PHP.

Par exemple, j’obtiens le message suivant quand j’envoie un mail en ligne de commande à webmaster@mondomaine.com (qui est un alias virtuel) :

Reporting-MTA: dns; serveur.mondomaine.com
X-Postfix-Queue-ID: D5D3B3291
X-Postfix-Sender: rfc822; root@serveur.mondomaine.com
Arrival-Date: Mon, 11 Feb 2013 23:06:59 +0100 (CET)

Final-Recipient: rfc822; webmaster@mondomaine.com
Action: failed
Status: 5.1.1
Diagnostic-Code: x-unix; user unknown

Alors que cet alias fonctionne très bien avec mondomaine.com depuis l’extérieur.
Les listes Sympa fonctionnent correctement avec sendmail pour le sous-domaine listes.mondomaine.com.

J’ai beau chercher, je ne trouve pas la solution. Quelqu’un peut-il m’aider ??

Voici ci-dessous mes configs :

/etc/postfix/main.cf :

# Message affiché à la connexion  
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

# Ne pas utiliser le service biff qui sert à la notification                                                          
# des nouveaux mails             
biff = no

# On ne rajoute pas le domaine car c'est le boulot du client mail 
append_dot_mydomain = no

# Permet d'envoyer un email a l'émetteur si son mail n'est pas                                                         
# parti au bout d'un certain temps                                                                                     
delay_warning_time = 12h

readme_directory = no

# TLS parameters
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# Emplacement des alias Unix                                                                                           
# Attention, à chaque modification de /etc/aliases, il faut taper                                                      
# la commande newaliases pour qu'il régénère le fichier /etc/aliases.db     
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

# Le domaine d'origine   
myorigin = /etc/mailname

myhostname = serveur.mondomaine.com
mydomain = mondomaine.com

# Liste des domaines principaux dont on accepte le courrier  
mydestination = localhost localhost.mondomaine.com serveur.mondomaine.com mail.mondomaine.com listes.mondomaine.com

# Permet d'indiquer un autre serveur SMTP pour l'envoi des emails                                                      
# Utilisé si on ne peut pas envoyer directement les emails  
#relayhost = 

# Indique les réseaux dont on accepte d'acheminer les emails 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

# Écoute sur toutes les interfaces réseaux                                                                             
inet_interfaces = all

# Taille des boites aux lettres. 0 : pas de limite   
mailbox_size_limit = 0

# Séparateur utilisé pour les usernames + adresses 
recipient_delimiter = +

#on va dire à Postfix d’utiliser Dovecot comme MDA (ou LDA)                                                            
mailbox_command = /usr/lib/dovecot/deliver

# Répertoire de la file d'attente                                                                                      
queue_directory = /var/spool/postfix

## Configuration pour la gestion virtuelle avec MySQL

virtual_uid_maps = static:3000
virtual_gid_maps = static:3000
virtual_mailbox_base = /home/facteur
 
virtual_transport = dovecot
 
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf

# Restrictions d'utilisation du serveur SMTP 
 
smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination,
  reject_unauth_pipelining,
  reject_invalid_hostname

smtpd_sender_restrictions = 
    permit_mynetworks, 
    permit_sasl_authenticated, 
    reject_non_fqdn_sender, 
    reject_unknown_sender_domain, 
    check_sender_access regexp:/etc/postfix/sender_access_catchall, 
    permit
 
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

# Indiquer à Postfix de livrer à un destinataire à la fois
# la réception d'un mail en provenance d'un expéditeur unique avec plusieurs destinataire ne fonctionnerais pas sans cette option
dovecot_destination_recipient_limit = 1

#config anti-spam
# La ligne ci-dessous est désactivée afin de ne pas traiter
# tous les messages de la même façon.
# On passe par la directive smtpd_sender_restrictions donnée ci-dessus.
#content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

# Ajouts pour l'identification SMTP

# Ajoute un nom de domaine aux clients qui utilisent smtp-auth.                                                    
# Soyez sûr que c'est vide ou sinon les utilisateurs se feront virer par postfix et ne pourront pas s'identifier.  
smtpd_sasl_local_domain =

# Chiffrer le mot de passe lors de l'authentification                                                              

smtpd_tls_cert_file = /homez/data01/ssl/CERTIFICATES/mail.mondomaine.com_cert.cert
smtpd_tls_key_file = /homez/data01/ssl/PRIVATE_KEYS/mail.mondomaine.com_key.pem
smtpd_tls_CAfile = /homez/data01/ssl/CERTIFICATE_AUTHORITY/sub.class1.server.ca.pem

smtpd_use_tls = yes
smtpd_tls_loglevel = 1

# tls_mandatory: définit les contraintes posées sur STARTTLS.                                                      
# Tout d'abord on ne veux pas de SSLv2, qui est cassé, puis on précise que les                                     
# algos autorisés sont dans la liste “high” de OpenSSL mais on enlève le chiffrement                               
# NULL et le hash MD5.                                                                                             
smtpd_tls_mandatory_protocols = !SSLv2
smtpd_tls_mandatory_ciphers = high                                                                                \

smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5

# L'option suivante oblige à être crypté avant l'authentification                                                  
smtpd_tls_auth_only = yes

# Pour avoir un compte-rendu détaillé de la connexion dans la log,                                                 
# entrer l'adresse IP ci-dessous :                                                                                 
#debug_peer_list = @ip

#### AJOUTS POUR SYMPA ####                                                                                             

# Tranport vers les services sympa*                                                                                     
transport_maps = regexp:/etc/postfix/transport_regexp_sympa hash:/etc/postfix/transport  
local_recipient_maps = regexp:/etc/postfix/transport_regexp_sympa proxy:unix:passwd.byname $alias_maps

# Un seul envoi/destinataire envoyé aux services sympa* à la fois                                                       
sympa_destination_recipient_limit = 1
sympabounce_destination_recipient_limit = 1


# Règles de transport pour orange et wanadoo -> on utilise la queue "slow"
# La règle de transport se trouve plus haut (hash: /etc/postfix/transport)
slow_destination_recipient_limit = 20
slow_destination_concurrency_limit = 2

/etc/postfix/master.cf :

smtp      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes

# Ouverture du port 587 paramétré comme le port SMTP (port 25)
587       inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
# ebinet - fin
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
	-o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}

uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix	-	n	n	-	2	pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

# Dovecot
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=facteur:facteur argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

# anti-spam
amavis unix - - - - 1 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes
 
127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1

# Ajouts pour SYMPA
sympa   unix        -   n   n   -   -   pipe
    flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}
sympabounce unix    -   n   n   -   -   pipe
    flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${user}@${nexthop}

#  File d'attente pour Orange et Wanadoo
slow      unix  -    -     n     -     5     smtp
  -o syslog_name=postfix-slow
  -o smtp_destination_concurrency_limit=3
  -o slow_destination_rate_delay=1

/etc/postfix/transport :

wanadoo.com slow:
wanadoo.fr slow:
orange.com slow:
orange.fr slow:

/etc/postfix/transport_regexp_sympa :

/^.*+retour\@listes\.mondomaine\.com$/ sympabounce: /^.*\@listes\.mondomaine\.com$/ sympa:

Et dans le fichier /etc/postfix/aliases je mets les aliases de serveur.mondomaine.com (comme pour les listes de Sympa, ça fonctionne très bien avec sendmail)

Je ne mets pas dovecot.conf car il est vraiment gros et je ne sais pas s’il est utile.

Merci par avance pour vos bons conseils !!

Bonjour,
Ma question n’a pas passionné les foules…
Si je ne suis pas sur le bon forum, vous me conseillez d’aller où pour poser ma question ?

=> user unknown pour webmaster.
As tu prévenu postfix de l’alias webmaster dans le fichier des alias et avec la commande newaliases ?
Normalement, les logs te donnent plus de détails sur la nature de l’erreur.

Merci fluo pour ton aide.

webmaster@mondomaine.com n’est pas dans le fichier des alias, il se trouve en base MySQL. Et tout fonctionne très bien quand ça arrive de l’extérieur. Il n’y a que par sendmail que ça déconne.

Voici l’extrait de la syslog (pas très bavarde) :

Feb 23 18:26:34 serveur postfix/pickup[2554]: 7AE5A9254: uid=0 from=<root>
Feb 23 18:26:34 serveur postfix/cleanup[7011]: 7AE5A9254: message-id=<20130223172634.7AE5A9254@serveur.mondomaine.com>
Feb 23 18:26:34 serveur postfix/qmgr[31749]: 7AE5A9254: from=<root@serveur.mondomaine.com>, size=307, nrcpt=1 (queue active)
Feb 23 18:26:34 serveur postfix/pipe[7012]: 7AE5A9254: to=<webmaster@mondomaine.com>, relay=dovecot, delay=13, delays=13/0.01/0/0.08, dsn=5.1.1, status=bounced (user unknown)
Feb 23 18:26:34 serveur postfix/cleanup[7011]: 9330D92BC: message-id=<20130223172634.9330D92BC@serveur.mondomaine.com>
Feb 23 18:26:34 serveur postfix/qmgr[31749]: 9330D92BC: from=<>, size=2023, nrcpt=1 (queue active)
Feb 23 18:26:34 serveur postfix/bounce[7014]: 7AE5A9254: sender non-delivery notification: 9330D92BC
Feb 23 18:26:34 serveur postfix/qmgr[31749]: 7AE5A9254: removed

Je me demande si le problème ne viendrait pas de dovecot.
Je vais essayer d’obtenir une log un peu plus fournie…

J’ai boosté les traces en ajoutant des -v sur la plupart des lignes du fichier /etc/postfix/master.cf

J’ai pu comparer le fonctionnement de Postfix dans différents cas de test.

Un petit rappel sur l’anatomie de Postfix (merci http://irp.nain-t.net/doku.php/200messagerie:010postfix1:010_anatomie) :

Mail envoyé de l’extérieur vers mon serveur :
Il arrive dans smtpd, c’est lui qui retrouve l’alias dans la table MySQL. Il passe la main à cleanup, qui l’envoie à qmgr, qui le refait partir vers l’extérieur.
Ici c’est donc smtpd qui fait le boulot.

Mail envoyé par sendmail
Il arrive dans pickup, qui le passe à cleanup puis qmgr, qui l’envoie dans un pipe vers dovecot, et là, badaboum, il repart en bounce : non trouvé.
Ici personne ne trouve l’alias.

Mail envoyé par sendmail à un compte local avec un alias vers webmaster@mondomaine.com
J’écris à webmaster@localhost, sachant que dans mon fichier /etc/postfix/aliases je renvoie webmaster vers webmaster@mondomaine.com. Voilà ce qui se passe :
Il arrive dans pickup, puis cleanup, puis qmgr qui le passe à local.
Ce dernier se sert avec succès de la table locale des aliase, il le renvoie à cleanup en lui disant que le mail doit être envoyé à mondomaine.com, et suprise, cleanup trouve l’alias final dans MySQL !

Est-ce donc pickup qui ne fait pas correctement son boulot ? Et dans ce cas pourquoi ?
Et pourquoi cleanup ne le ferait pas, alors que mon troisième test montre qu’il est capable de le faire ?
Je ne comprends rien à ce fonctionnement… :cry:

help, please…

Salut,
Ça doit être un truc à la noix… Mais comme à chaque fois pas facile à trouver. :wink:

Tu pourrais donner ta conf de dovecot et les fichiers annexes de dovecot (les appels sql) ?

Hello lol,

Merci pour ton aide.
Tu penses que c’est Dovecot qui aurait dû rediriger le mail ? Pourtant sur un alias j’aurais pensé que c’était à Postfix de faire le boulot avant qu’il n’arrive à Dovecot, puisqu’il n’y a justement pas de mail à délivrer sur cette machine.
Tiens d’ailleurs, ça m’a fait penser qu’il y a un test que je n’avais pas fait : quand j’envoie un mail par sendmail à une boîte virtuelle du même serveur (pas un alias, une vraie boîte, mais gérée en virtuel avec MySQL), eh bien tout fonctionne correctement. Preuve pour moi que Dovecot travaille comme il faut, même avec un mail envoyé en local.

Voici quand même ma conf Dovecot (sans les nombreuses lignes inutiles) :

/etc/dovecot/dovecot.conf

## Dovecot configuration file

protocols = imap imaps pop3 pop3s managesieve
   protocol imap {
     imap_client_workarounds = outlook-idle delay-newmail netscape-eoh tb-extra-mailbox-sep
     listen = *:143
     ssl_listen = *:993
   }
   protocol pop3 {
     listen = *:110
     ssl_listen = *:995
   }
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
ssl = yes
ssl_cert_file = /homez/data01/ssl/CERTIFICATES/mail.mondomaine.com_cert.cert
ssl_key_file = /homez/data01/ssl/PRIVATE_KEYS/mail.mondomaine.com_key.pem
ssl_ca_file = /homez/data01/ssl/CERTIFICATE_AUTHORITY/sub.class1.server.ca.pem

mail_location = maildir:/homez/data01/mails/%d/%n:INDEX=/homez/data01/mails/%d/%n/indexes
mail_privileged_group = mail
mbox_write_locks = dotlock fcntl
protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_plugins = quota
}
protocol managesieve {
  login_executable = /usr/lib/dovecot/managesieve-login
  mail_executable = /usr/lib/dovecot/managesieve
}
protocol lda {
  postmaster_address = webmail@mondomaine.com
  mail_plugins = sieve quota
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
  auth_socket_path = /var/run/dovecot/auth-master
}
auth default {
  mechanisms = plain login
  passdb sql {
    args = /etc/dovecot/dovecot-mysql.conf
  }
  userdb sql {
    # Path for SQL configuration file
    args = /etc/dovecot/dovecot-mysql.conf
  }
  user = root
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = facteur
    }
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
dict {
  quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf
}
plugin {
  quota = dict:%u::proxy::quotadict
  quota_rule = *:storage=10M:messages=1000
  quota_warning = storage=75%% /usr/local/bin/quota-warning.sh 75 %u
  quota_warning2 = storage=90%% /usr/local/bin/quota-warning.sh 90 %u
  sieve_dir = /homez/data01/mails/%d/%n/.sieve
}

Et les requêtes SQL qui servent pour l’authentification des connexions POP3 et IMAP, et la gestion des quotas :

/etc/dovecot/dovecot-mysql.conf

driver = mysql
connect = host=127.0.0.1 dbname=postfix user=utilisateur password=motdepasse
default_pass_scheme = MD5-CRYPT
user_query = SELECT '/homez/data01/mails/%d/%n' AS home, 3000 AS uid, 3000 AS gid, CONCAT('*:bytes=', CAST(quota AS CHAR
)) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
password_query = SELECT password FROM mailbox WHERE username = '%u'

/etc/dovecot/dovecot-dict-sql.conf

connect = host=localhost dbname=postfix user=utilisateur password=motdepasse
map {
  pattern = priv/quota/storage
  table = quota2
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota2
  username_field = username
  value_field = messages
}

A+

Salut,
J’ai sensiblement la même configuration, et je n’ai pas de soucis avec les mail envoyés par PHP vers les boites virtuelles.
Il faut que je fouille un peu ma conf pour voir ce qui est différent de la tienne.

Je te tiens au courant.

Merci, j’attends donc avec impatience ! :slightly_smiling:

Re,
Déjà au niveau de postfix, j’ai quelques différences, ça pourrait être de ce côté que ça bloque (pas de sasl au niveau de smtp inet)

smtp inet n - - - - smtpd ... submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Chez moi cette ligne provoque une erreur si elle est dé-commentée:

Salut lol,

Merci, mais malheureusement ce n’est pas mieux. J’ai appliqué la même configuration que toi et ça ne fonctionne pas.
En fait ça ne m’étonne pas trop car à force d’éplucher la doc de Postfix j’ai compris que les services inet sont ceux qui servent pour les messages qui viennent du réseau, donc de l’extérieur.

Tu parles des “boîtes” virtuelles. Mais as-tu essayé avec des alias virtuels ? Chez moi sendmail fonctionne avec les boîtes, c’est avec les alias que ça déconne.

J’ai encore fait plein d’essais infructueux ce soir en modifiant des paramètres qui auraient pu faire pencher la balance, mais rien à faire… :confused:

Et ton fichier main.cf, il ressemble à quoi ?

Salut,
Oui, alias… Je n’ai pas essayé à vrai dire.
Mon main.cf:

[code]smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = /usr/share/doc/postfix

smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = machine.serveur.domaine
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
myorigin = /etc/mailname
mydestination = mail.karmaweb.biz, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8 [::1]/128 Quelques_IP_aurtorisées
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_tls_security_level = may
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = dovecot
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
owner_request_special = no
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
message_size_limit = 0
bounce_template_file = /etc/postfix/bounce.cf[/code]

Merci lol,

Bon, ben à première vue je ne vois rien qui puisse faire la différence compte tenu des nombreux tests que j’ai réalisés ces derniers jours…
Si tu as 5mn, est-ce que tu pourrais faire un test d’envoi vers un alias sur ta machine :

root@monserveur: sendmail alias@mondomaine.com
Subject: test
message
.

Comme ça j’en aurai le cœur net. Merci!

A+

Salut,
Désolé pour le retard j’étais empêtré (et je n’ai pas réussi) dans un mode bridge d’une box + pppoe…

Donc: Ça fonctionne chez moi (alias virtuel vers boite d’un domaine virtuel)
Alias: laurent@domaine2.tld

Feb 27 09:47:30 mail postfix/pickup[12103]: D8C3961C0069: uid=0 from=<root> Feb 27 09:47:30 mail postfix/cleanup[16515]: D8C3961C0069: message-id=<20130227084730.D8C3961C0069@serveur.domaine.tld> Feb 27 09:47:31 mail postfix/qmgr[14598]: D8C3961C0069: from=<root@serveur.domaine.tld>, size=283, nrcpt=1 (queue active) Feb 27 09:47:31 mail postfix/smtpd[16867]: connect from localhost.localdomain[127.0.0.1] Feb 27 09:47:31 mail postfix/smtpd[16867]: 24E1161C006A: client=localhost.localdomain[127.0.0.1] Feb 27 09:47:31 mail postfix/cleanup[16515]: 24E1161C006A: message-id=<20130227084730.D8C3961C0069@serveur.domaine.tld> Feb 27 09:47:31 mail postfix/smtpd[16867]: disconnect from localhost.localdomain[127.0.0.1] Feb 27 09:47:31 mail postfix/qmgr[14598]: 24E1161C006A: from=<root@serveur.domaine.tld>, size=737, nrcpt=1 (queue active) Feb 27 09:47:31 mail amavis[4467]: (04467-13) Passed CLEAN {RelayedInternal}, DKIM_ALWAYS <root@serveur.domaine.tld> -> <truc@domaine2.tld>, Message-ID: <20130227084730.D8C3961C0069@serveur.domaine.tld>, mail_id: p-iozYlivtyd, Hits: -0.88, size: 283, queued_as: 24E1161C006A, 430 ms Feb 27 09:47:31 mail postfix/smtp[16864]: D8C3961C0069: to=<truc@domaine2.tld>, relay=127.0.0.1[127.0.0.1]:10024, delay=71, delays=71/0/0/0.43, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 24E1161C006A) Feb 27 09:47:31 mail postfix/qmgr[14598]: D8C3961C0069: removed Feb 27 09:47:31 mail dovecot: auth-worker(16944): mysql(localhost): Connected to database dbispconfig Feb 27 09:47:31 mail dovecot: lda(laurent@domaine2.tld): sieve: msgid=<20130227084730.D8C3961C0069@serveur.domaine.tld>: stored mail into mailbox 'INBOX' Feb 27 09:47:31 mail postfix/pipe[16942]: 24E1161C006A: to=<laurent@domaine2.tld>, orig_to=<truc@domaine2.tld>, relay=dovecot, delay=0.55, delays=0.31/0.01/0/0.23, dsn=2.0.0, status=sent (delivered via dovecot service) Feb 27 09:47:31 mail postfix/qmgr[14598]: 24E1161C006A: removed

OK, je vois : chez toi qmgr renvoie le mail à smtpd et là ça marche. Chez moi il l’envoie dans le pipe de dovecot.
C’est là que je dois voir ce qui change.
Merci pour ces infos, je continue à creuser…

Salut,

[quote=“tessiture”]OK, je vois : chez toi qmgr renvoie le mail à smtpd et là ça marche. Chez moi il l’envoie dans le pipe de dovecot.
C’est là que je dois voir ce qui change.
Merci pour ces infos, je continue à creuser…[/quote]

Si tu as besoin de mes main.cf et master.cf ou d’autres fichiers n’hésites pas.
Je colle ça sur mon pastebin et je te donnes le lien.
Je suppose quand même que ça se trouve dans le master.cf

Tu m’avais déjà donné le main.cf, je suis en train de le re-décortiquer.
Et oui, je prends volontiers ton master.cf en plus, merci ! :wink:

Salut,
Pas de soucis.
Mon pastebin est en vrac… Je ne sais pas depuis combien de temps. :blush:

[code]# cat /etc/postfix/master.cf

Postfix master process configuration file. For details on the format

of the file, see the master(5) manual page (command: “man 5 master”).

Do not forget to execute “postfix reload” after editing this file.

==========================================================================

service type private unpriv chroot wakeup maxproc command + args

(yes) (yes) (yes) (never) (100)

==========================================================================

smtp inet n - - - - smtpd
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
#tlsproxy unix - - - - 0 tlsproxy
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp

-o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache

====================================================================

Interfaces to non-Postfix software. Be sure to examine the manual

pages of the non-Postfix software to find out what options it wants.

Many of the following services use the Postfix pipe(8) delivery

agent. See the pipe(8) man page for information about ${recipient}

and other message envelope options.

====================================================================

maildrop. See the Postfix MAILDROP_README file for details.

Also specify in main.cf: maildrop_destination_recipient_limit=1

maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d vmail ${extension} ${recipient} ${user} ${nexthop} ${sender}

====================================================================

Recent Cyrus versions can use the existing “lmtp” master.cf entry.

Specify in cyrus.conf:

lmtp cmd=“lmtpd -a” listen=“localhost:lmtp” proto=tcp4

Specify in main.cf one or more of the following:

mailbox_transport = lmtp:inet:localhost

virtual_transport = lmtp:inet:localhost

====================================================================

Cyrus 2.1.5 (Amos Gouaux)

Also specify in main.cf: cyrus_destination_recipient_limit=1

#cyrus unix - n n - - pipe

user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}

====================================================================

Old example of delivery via Cyrus.

#old-cyrus unix - n n - - pipe

flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}

====================================================================

See the Postfix UUCP_README file for configuration details.

uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)

Other external delivery methods.

ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

-o smtpd_bind_address=127.0.0.1[/code]

Merci ! Je vais éplucher ça et continuer mes essais… mais après mes vacances :wink:

Veinard!

Si tu veux la suite des confs, pas de soucis (et j’ai réparé mon pastebin…)
Bonnes vacances. :obscene-smokingsombrero: