Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Venez tester la Fedora 33 Beta

#1 10/09/2012 16:49:41

totoAussi
Membre
Inscription : 18/03/2011
Messages : 301

[Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

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 hmm ?

Merci d'avance, cordialement.

Dernière modification par totoAussi (10/09/2012 16:53:45)


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

#2 11/09/2012 14:56:34

totoAussi
Membre
Inscription : 18/03/2011
Messages : 301

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

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 neutral


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

#3 12/09/2012 12:58:13

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 8 472
Site Web

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

Et que contient /etc/postfix/mysql-virtual_mailbox_domains.cf? tu as quelque chose dans les logs mysql?


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 32 WorkStation sur HP 850 G5
Fedora 32 SilverBlue sur Lenovo Thinkpad Yoga 12

Hors ligne

#4 12/09/2012 14:23:17

totoAussi
Membre
Inscription : 18/03/2011
Messages : 301

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

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.


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

#5 17/11/2012 13:33:42

ines2012
Membre
Inscription : 16/11/2012
Messages : 2

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

totoAussi a écrit :

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,

Dernière modification par ines2012 (17/11/2012 13:34:25)

Hors ligne

#6 17/11/2012 13:39:39

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 8 472
Site Web

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

Ya bien sûr cette doc http://doc.fedora-fr.org/wiki/Postfix


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 32 WorkStation sur HP 850 G5
Fedora 32 SilverBlue sur Lenovo Thinkpad Yoga 12

Hors ligne

#7 17/11/2012 13:44:59

ines2012
Membre
Inscription : 16/11/2012
Messages : 2

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

madko a écrit :

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,

Hors ligne

#8 17/11/2012 13:52:06

madko
Contributeur Fedora et Linuxé depuis 1994
Modérateur
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 8 472
Site Web

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

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.


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 32 WorkStation sur HP 850 G5
Fedora 32 SilverBlue sur Lenovo Thinkpad Yoga 12

Hors ligne

#9 17/11/2012 15:36:10

totoAussi
Membre
Inscription : 18/03/2011
Messages : 301

Re : [Résolu] Postfix : pas possible d'envoyer un email vers un domaine virtuel.

ines2012 a écrit :
totoAussi a écrit :

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.

Dernière modification par totoAussi (17/11/2012 15:39:03)


Mes Pense-bête :
http://www.linux-france.org/article/deb … linux.html
wiki.bash-hackers.org

Hors ligne

Pied de page des forums