Bonjour,
j'ai un serveur dédié kimsufi debian squeeze stable 64 bit où j'ai installé postfix et postfix-mysql.
Mon problème est que postfix utilise le transport smtp au lieu du transport virtual lorsqu'il s'agit d'envoyer des messages vers les domaines virtuels (càd domaines listés dans virtual_mailbox_domains du fichier main.cf).
Voici ma configuration postfix (j'ai remplacé le vrai nom de domaine par example.com) :
-Fichier main.cf :
On vérifie que posfix trouvent bien les informations dans mysql, et on voit que tout est ok :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no smtpd_use_tls=no myhostname = ns.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = ns.example.com, localhost.example.com, , localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all html_directory = /usr/share/doc/postfix/html virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_base = /var/mail/vhosts virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
On vérifie que le domaine pointe bien vers le serveur dédié :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [guest@localhost~]$ postmap -q "tata@example.com" mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf [guest@localhost~]$ example.com [guest@localhost~] [guest@localhost~]$ postmap -q "tata@example.com" mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf [guest@localhost~]$ tata@example.com [guest@localhost~]
Ensuite on envoie un mail de test vers tata@example.com, et là problème car postfix utilise le transport smtp au lieu du transport virtual, d'après syslog :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [guest@localhost~]$ dig mx example.com +short [guest@localhost~]$ 10 mail.example.com [guest@localhost~]
Par ailleurs, j'ai l'impression que je suis maudit avec la méthode mysql, car quand j'utilise la méthode des fichiers hash (voir ci-dessous) à la place, postfix utilise bien le transport virtual et non le transport smtp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sep 10 15:39:34 ns postfix/smtp[23727]: 7D387833C1: to=<tata@example.com>, relay=none, delay=0.11, delays=0.1/0.01/0/0, dsn=5.4.6, status=bounced (mail for example.com loops back to myself)
Méthode des fichiers hash :
Donc pourquoi quand j'utilise la méthode mysql et non la méthode hash dans main.cf, postfix utilise le transport smtp au lieu du transport virtual pour mon domaine virtuel ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 virtual_mailbox_domains = example.com (au lieu de mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf) virtual_mailbox_base = /var/mail/vhosts virtual_mailbox_maps = hash:/etc/postfix/vmailbox (au lieu de mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf) virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_alias_maps = hash:/etc/postfix/virtual (au lieu de mysql:/etc/postfix/mysql-virtual_alias_maps.cf)
Merci d'avance pour vos réponses, cordialement.
Partager