Bonjour,

j'ai un serveur postfix/mysql dont la configuration de main.cf est la suivante (j'ai remplacé le vrai nom de domaine par example.com) :
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
smtpd_use_tls=no

myhostname = ns.example.com (valeur par défaut)
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ns.example.com, localhost.example.com, , localhost (valeur par défaut)
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
Je vérifie le pointage mx, qui est bon :
[guest@localhost~]$ dig mx example.com +short
[guest@localhost~]$ 10 mail.example.com
[guest@localhost~]
Je crée une adresse email toto@example.com dans la base de donnée postfix, et je vérifie si postfix arrive à retrouver les informations avec mysql, et je constate que tout est bon :
[guest@localhost~]$ postmap -q "toto@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~]$ toto@example.com
[guest@localhost~]
Puis quand j'envoie un mail vers toto@example.com, les logs m'affichent des erreurs (voir surtout la ligne où j'ai mis une fléche):
Sep 10 15:39:34 ns postfix/pickup[23571]: 7D387833C1: uid=0 from=<root>
Sep 10 15:39:34 ns postfix/cleanup[23725]: 7D387833C1: message-id=<20120910133934.7D387833C1@ns.example.com>
Sep 10 15:39:34 ns postfix/qmgr[23572]: 7D387833C1: from=<root@ns.example.com>, size=440, nrcpt=1 (queue active)
=>Sep 10 15:39:34 ns postfix/smtp[23727]: 7D387833C1: to=<toto@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)
Sep 10 15:39:34 ns postfix/cleanup[23725]: 949FC833C5: message-id=<20120910133934.949FC833C5@ns.example.com>
Sep 10 15:39:34 ns postfix/bounce[23728]: 7D387833C1: sender non-delivery notification: 949FC833C5
Sep 10 15:39:34 ns postfix/qmgr[23572]: 949FC833C5: from=<>, size=2196, nrcpt=1 (queue active)
Sep 10 15:39:34 ns postfix/qmgr[23572]: 7D387833C1: removed
Sep 10 15:39:34 ns postfix/local[23729]: 949FC833C5: to=<root@ns.example.com>, relay=local, delay=0.08, delays=0.03/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)
Sep 10 15:39:34 ns postfix/qmgr[23572]: 949FC833C5: removed
root@ns:/var/log# 

Donc je voudrais savoir pourquoi je ne peux pas envoyer des mails vers un domaine virtuel :-? ?

Merci d'avance, cordialement.
ReBonjour,

je n'ai pas encore résolu le problème, mais je sais pourquoi postfix ne peut pas envoyer des messages vers un domaine vituel, example.com :
c'est parce que postfix utilise le transport smtp au lieu du transport virtual, càd
que je devrais avoir ça :
Sep 10 15:39:34 ns postfix/virtual[23727]: 7D387833C1: to=<toto@example.com>, relay=none,
au lieu de ça :
Sep 10 15:39:34 ns postfix/smtp[23727]: 7D387833C1: to=<toto@example.com>, relay=none,
En effet, d'après http://postfix.traduc.org/index.php/pos ... _transport, postfix utilise le transport smtp lorsqu'il doit livrer des messages vers des domaines ne faisant pas partie de $mydestination, $virtual_alias_domains, et de $virtual_mailbox_domains.
Or dans le main.cf, mon domaine virtuel example.com fait partie de $virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf, et donc devrait utiliser le transport virtual et non smtp, et en plus virtual_transport (transport utilisé pour livrée vers les domaines virtuels) est bien égal à virtual.
Mais alors pourquoi mon postfix a fait l'erreur d'utiliser smtp pour ce domaine virtuel ?
Est-ce que c'est un bug de postfix ? J'apprécierais votre retour si vous pouvez faire un test
Pourtant dans mon main.cf, vitual_transport (qui permet à postfix d'utiliser le transport virtual pour les domaines virtuels listés dans $virtual_mailbox_domains) est bien virtual.

Par ailleurs, j'ai l'impression que je suis maudit avec la méthode mysql parce que avec la méthode des fichiers hash (voir ci-dessous) à la place de la méthode mysql, postfix utilise bien le transport virtual
pour livrer les messages vers les domaines virtual.
/*Méthode des fichiers hash*/
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)
Donc pourquoi avec la méthode mysql, postfix fait l'erreur d'utiliser le transport smtp au lieu du transport virtual lorsqu'il envoie des messages vers les domaines virtuels ?

Merci d'avance 😐
Et que contient /etc/postfix/mysql-virtual_mailbox_domains.cf? tu as quelque chose dans les logs mysql?
Bonjour madko,

merci beaucoup pour ton aide.

J'ai résolu le problème. Mon redémarrage mysql n'était as propre, car j'avais un message failed. Du coup, j'ai supprimer et réinstallé mysql, et tout a fonctionné.

Merci encore.
2 mois plus tard
totoAussi wrote:Bonjour madko,

merci beaucoup pour ton aide.

J'ai résolu le problème. Mon redémarrage mysql n'était as propre, car j'avais un message failed. Du coup, j'ai supprimer et réinstallé mysql, et tout a fonctionné.

Merci encore.

Bonjour TotoAussi,

Prière m'informer quel page web vous avez utilisé pour mettre en place un serveur mail.

En fait, je travaille sur ubuntu, et j'ai eu beaucoup de problèmes en configurant le fichier main.cf de Postfix, En fait, je ne dispose de nom de domaine et je voulais utiliser ceux figurant dans la base de données my sql.


Merci d'avance,
madko wrote:Ya bien sûr cette doc http://doc.fedora-fr.org/wiki/Postfix
Merci beaucoup pour votre réponse,

Cependant, je travaille avec le OS Ubuntu. Dois-je juste suivre ce tutoriel en changeant que les commandes ( par exemple yum devient apt-get avec Ubuntu)?


Merci,
Bien sûr, les commande sont à adapter, ainsi que le nom des paquets. Sinon il faut aller sur un forum plus adapté, ici c'est pour Fedora.
ines2012 wrote:
totoAussi wrote:Bonjour madko,

merci beaucoup pour ton aide.

J'ai résolu le problème. Mon redémarrage mysql n'était as propre, car j'avais un message failed. Du coup, j'ai supprimer et réinstallé mysql, et tout a fonctionné.

Merci encore.

Bonjour TotoAussi,

Prière m'informer quel page web vous avez utilisé pour mettre en place un serveur mail.

En fait, je travaille sur ubuntu, et j'ai eu beaucoup de problèmes en configurant le fichier main.cf de Postfix, En fait, je ne dispose de nom de domaine et je voulais utiliser ceux figurant dans la base de données mysql.


Merci d'avance,
=> Si tu n'utilise pas de nom de domaine, tu peux créer un nom de domaine local appelé localdomain. Pour cela, quand tu installe postfix, tu choisis "Pour site internet", puis à l'étape où tu dois mettre un nom de serveur, tu met localhost.localdomain. Ainsi, dans main.cf, myhostname sera égal à localhost.localdomain, et par conséquent mydomain sera égal à localdomain. Et tu pourra donc utiliser localdomain comme domaine virtuel, et l'insérer dans ta base mysql.

Je me suis basé sur tous les tutos trouvables sur le net qui m'on permis de comprendre petit à petit le fonctionnement de postfix.

N'hésite pas à donner un copié-coller de ta configuration postfix sur ce thread si tu as besoin d'aide.

Et puis, si tu habite à coté de la cité des sciences de Paris, il y a ubuntu party et compagnie aujourd'hui, tu peux y passer avec ton pc pour développer et échanger tes connaissances.