Bonjour !
Je rencontre une erreur lorsque je souhaite utiliser mailman pour une liste de diffusion. Je vais décrire le problème plus bas, voici d'abord le contexte:
Je souhaite mettre en place un réseau de communication par le biais de courriels sur mon réseau local. Ainsi qu'un liste de diffusion (mailman).
J'ai trouvé un tuto très sympathique me permettant de configurer les logiciels suivants, qui corresponde a mes besoins:
Postfix, Postfixadmin, Dovecot, Mysql et Squirrelmail.
L'échange de mails fonctionne correctement (pas du bug, logs propres) et Squirrelmail marche a merveille. Mon problème se situe donc au niveau de mailman, plus précisément lorsque l'on souhaite écrire a la liste de diffusion. Le message d'erreur nous informe que l'adresse n'est pas connue.
Voici les fichiers de configurations en questions (certaines config sont changés en commentaires, dû a du bidouillage de test):Aug 24 13:41:21 marx postfix/smtpd[32674]: connect from localhost[127.0.0.1]
Aug 24 13:41:21 marx postfix/smtpd[32674]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <ma-liste-de-diffusion-bounces@reseau.local>: Recipient address rejected: User unknown in virtual mailbox table; from=<test3@reseau.local> to=<ma-liste-de-diffusion-bounces@reseau.local> proto=ESMTP helo=<marx>
Aug 24 13:41:21 marx postfix/smtpd[32674]: lost connection after RCPT from localhost[127.0.0.1]
Aug 24 13:41:21 marx postfix/smtpd[32674]: disconnect from localhost[127.0.0.1]
/etc/postfix/main.cf
/etc/postfix/master.cf (je cite seulement la fin du fichier)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no delay_warning_time = 1h 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 myhostname = marx.bux.fr #alias_maps = hash:/etc/aliases #alias_database = hash:/etc/aliases mydestination = localhost.localdomain, , localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, reseau.local, marx.bux.fr mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only myorigin = /etc/mailname default_transport = error relay_transport = error virtual_uid_maps = static:3000 virtual_gid_maps = static:3000 virtual_mailbox_base = /home/courriers 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 #relay_domains = reseau.local, marx.bux.fr smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous # Obtenir une alerte si les emails ne partent pas # Par défaut cette option est réglée à 4 heures, j'ai réduit cette durée: delay_warning_time = 1h # Ajoutez votre réseau local ici mynetworks = 192.168.0.0/22 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 # 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 # mailman: unknown_local_recipient_reject_code = 550 # Gestion de mailman => ajout de hash:/var/lib/mailman/data/aliases alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_database = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases #transport_maps = hash:/etc/postfix/transport mailman_destination_recipient_limit = 1
Ce que je comprend donc de l'erreur, c'est que ma-liste-de-diffusion-bounces@reseau.local n'est pas connue de postfix, que entre autre (je m'aventure là ^^) elle n'est pas connue dans virtual_mailbox_maps.
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 [...] 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=courriers:courriers argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} dovecot unix - n n - - pipe flags=DRhu user=courriers:courriers argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
Le tutorial m'a fait configurer ceci pour virtual_mailbox_maps:
/etc/postfix/mysql_virtual_mailbox_maps.cf:
Code : Sélectionner tout - Visualiser dans une fenêtre à part virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
Ce qui ne permet pas a postfix de connaitre l'adresse ma-liste-de-diffusion-bounces@reseau.local puisqu'elle est gérer par mailman.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 hosts = 127.0.0.1 user = postfix password = xxxxxxxxxxxxx dbname = postfix query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
Si je ne me trompe pas dans mon raisonnement, comment faire en sorte que postfix connaisse les adresse de diffusions gérés par mailman ?
Et si je me goure savez vous ce qui cloche ? ^^
Partager