Bonjours a tous,
Alors voila pour le moment j'installe un service web sous un Diban Lenny. Pour le moment j'ai installer OpenLDAP avec un plugin MMC (schéma LDAP pour le mail) ou j'ai insérer des utilsiateurs. Ensuite j'ai mis en place dovecot avec un bind sur LDAP, jusque la pas de soucis j'arrive a me connecter en telnet sur le port 143(imap) avec un utilisateur enregistrer dans LDAP. Maintenant je dois venir greffer un serveur Postfix avec un bind sur LDAP. L'envoye des mail avec un compte Unix en telnet fonctionne, je recois bien les mail dans ma boite Mailidir. une fois que j'envoye un message a un utilisateur LDAP erreur dans le fichier mail.info:
Mar 5 13:50:57 Flo-Debian postfix/pickup[7185]: 8A54954269: uid=0 from=
Mar 5 13:50:57 Flo-Debian postfix/cleanup[7282]: 8A54954269: message-id=
Mar 5 13:50:57 Flo-Debian postfix/qmgr[7188]: 8A54954269: from=, size=311, nrcpt=1 (queue active)
Mar 5 13:50:57 Flo-Debian postfix/local[7285]: 8A54954269: to=, relay=local, delay=0.37, delays=0.27/0.06/0/0.05, dsn=5.1.1, status=bounced (unknown user: "flo")
Mar 5 13:50:57 Flo-Debian postfix/cleanup[7282]: DA2735426A: message-id=
Mar 5 13:50:57 Flo-Debian postfix/qmgr[7188]: DA2735426A: from=<>, size=2013, nrcpt=1 (queue active)
Mar 5 13:50:57 Flo-Debian postfix/bounce[7286]: 8A54954269: sender non-delivery notification: DA2735426A
Mar 5 13:50:57 Flo-Debian postfix/qmgr[7188]: 8A54954269: removed
Mar 5 13:50:58 Flo-Debian postfix/local[7285]: DA2735426A: to=, orig_to=, relay=local, delay=0.11, delays=0.04/0.01/0/0.06, dsn=2.0.0, status=sent (delivered to maildir)
Mar 5 13:50:58 Flo-Debian postfix/qmgr[7188]: DA2735426A: removed
le fichier de config pour Postfix:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.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
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = Flo-Debian.gescom
mydomain = flo-debian.gescom
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
local_recipient_maps = hash:/etc/postfix/local_recipients, $alias_maps
myorigin = $myhostname
mydesination = $myhostname, localhost.$mydomain, localhost, $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128,192.168.2.0/24
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
queue_directory = /var/spool/postfix
#Structure of local mail directory :
home_mailbox = Maildir/
# Appending .domain is the MUA's job.
append_dot_mydomain = no
append_at_myorigin = yes
delay_warning_time = 4h
maximal_queue_lifetime = 10d
mailbox_size_limit = 0
message_size_limit = 15728640
# Dovecot LDA
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# LDAP Transport
transport_map = ldap:/etc/postfix/ldap-transport.cf
# Virtual Domains Control
virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
virtual_mailbox_base =
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cf
virtual_alias_domains =
virtual_minimum_uid = 100
virtual_uid_maps = static:florian
virtual_gid_maps = static:mail
Avez vous une idée pour réussir a envoyer un mail a flo@flo-debian.gescom qui est un user ldap.
# Virtual domain / local domain
Posté par mxt . Évalué à 1.
Or ton domaine flo-debian.gescom est listé dans mydomain, les envois vers ce domaine utilse donc l'agent de livraison local et la configuration ldap de l'agent de livraison virtual n'est pas examinée.
Soit tu veux distinguer les utilisateurs Linux des utilisateurs LDAP, donc il faut utiliser 2 domaines différents, l'un utilisant l'agent de livraison "local" l'autre l'agent "virtual".
Si tu ne veux pas faire de distinction et utiliser le même nom de domaine, il faut configurer l'agent local pour utiliser aussi la configuration ldap, dans ce cas il faut enlever toute les directives virtual_* de ta configuration.
[^] # Re: Virtual domain / local domain
Posté par xillion . Évalué à 1.
[^] # Re: Virtual domain / local domain
Posté par mxt . Évalué à 1.
Il est inutile de modifier ton /etc/hosts, ou en tout cas Flo-Debian.gescom peut toujours apparaître comme 127.0.0.1
[^] # Re: Virtual domain / local domain
Posté par xillion . Évalué à 1.
postmap -q flo-debian.gescom ldap:/etc/postfix/ldap-domains.cf
Lorsque je la tape dans le terminal:
flo-debian:/var/log# postmap -q flo-debian.gescom ldap:/etc/postfix/ldap-domains.cf
flo-debian:/var/log#
Si je tape la commande pour un user:
flo-debian:/var/log# postmap -q flo@flo-debian.gescom ldap:/etc/postfix/ldap-accounts.cf
maildir:/home/flo/Maildir/
Et pour finir j'ai remis mais fichier host et hostname comme au départ...
Et maintenant en telnet:
220 flo-debian.gescom ESMTP Postfix (Ubuntu)
mail from:
250 2.1.0 Ok
rcpt to:
550 5.1.1 : Recipient address rejected: User unknown in local recipient table
[^] # Re: Virtual domain / local domain
Posté par mxt . Évalué à 1.
flo-debian:/var/log# postmap -q flo-debian.gescom ldap:/etc/postfix/ldap-domains.cf
flo-debian:/var/log#
Oui c'est ça ton problème. Démerde toi pour que ça retourne quelque chose.
Au pire tu peux faire ça en attendant de trouver mieux:
virtual_mailbox_domains = hash:/etc/postfix/virtual-domain
Puis dans le fichier /etc/postfix/virtual-domain:
flo-debian.gescom OK
Puis la commande:
postmap /etc/postfix/virtual-domain
Mes indications sont faites de mémoire, donc vérifie le format du fichier virtual-domain.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.