Hi,
I'm using mailman 2.1.11 on gentoo AMD64.
It's running with postfix, dspam and virtual domains/users (managed by
postfixadmin).
My problem is that all emails sent to a mailing list fall in the catchall.
I'm using a specifig subdomain for the lists, ml.domain.com and I
configured it with postfix admin to use mailman transport instead of
virtual.
It seems that postfix strips the ml. in the subdomain, acts like it was
sent to domain.com, and then deliver the mail (using virtual transport)
to the catchall since no mail account exists by the list name.
May 5 09:48:28 srv1 postfix/qmgr[30291]: EA9AC7746063:
from=<gh...@domain.com>, size=802, nrcpt=1 (queue active)
May 5 09:48:28 srv1 postfix/cleanup[28540]: 4F22A77460A4:
message-id=<49ffef39.9080...@domain.com>
May 5 09:48:28 srv1 postfix/qmgr[30291]: 4F22A77460A4:
from=<gh...@domain.com>, size=1240, nrcpt=1 (queue active)
May 5 09:48:28 srv1 postfix/lmtp[28542]: EA9AC7746063:
to=<catch...@domain.com>, orig_to=<inte...@ml.domain.com>,
relay=mail.domain.com[/var/run/dspam/dspam.sock], delay=0.94,
delays=0.35/0/0/0.59, dsn=2.6.0, status=sent (250 2.6.0
<catch...@domain.com> Message accepted for delivery)
May 5 09:48:28 srv1 postfix/qmgr[30291]: EA9AC7746063: removed
deliver(catch...@domain.com): May 05 09:48:29 Info:
msgid=<49ffef39.9080...@domain.com>: saved mail to INBOX
May 5 09:48:29 srv1 postfix/qmgr[30291]: 4F22A77460A4: removed
May 5 09:48:29 srv1 postfix/pipe[28546]: 4F22A77460A4:
to=<catch...@domain.com>, relay=virtual, delay=0.78,
delays=0.54/0/0/0.25, dsn=2.0.0, status=sent (delivered via virtual service)
Here's the relevant part of my configuration.
main.cf :
alias_database = dbm:/etc/mail/aliases
alias_maps = hash:/var/lib/mailman/data/aliases, hash:/etc/mail/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib64/postfix
data_directory = /var/lib/postfix
debug_peer_level = 10
home_mailbox = .maildir/
html_directory = /usr/share/doc/postfix-2.5.5/html
inet_interfaces = all
local_recipient_maps =
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_domains = ml.domain.com
masquerade_exceptions = root
message_size_limit = 15728640
mydestination = $myhostname, localhost, locahost.localdomain
mydomain = domain.com
myhostname = mail.domain.com
mynetworks = 127.0.0.0/8, hash:/etc/postfix/pop-before-smtp
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
owner_request_special = no
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.5.5/readme
recipient_delimiter = +
relayhost =
remote_header_rewrite_domain = domain.invalid
sample_directory = /etc/postfix
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_data_restrictions = permit_mynetworks
permit_sasl_authenticated reject_unauth_destination
reject_unauth_pipelining reject_multi_recipient_bounce permit
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks
permit_tls_all_clientcerts permit_sasl_authenticated
reject_non_fqdn_hostname reject_non_fqdn_sender
reject_non_fqdn_recipient reject_unauth_destination
reject_unauth_pipelining reject_invalid_hostname
reject_rhsbl_sender dsn.rfc-ignorant.org check_recipient_access
hash:/etc/postfix/postgrey_whitelist_recipients check_sender_access
hash:/etc/postfix/postgrey_whitelist_clients check_client_access
regexp:/etc/postfix/prepend_client reject_rbl_client
zen.spamhaus.org reject_rbl_client bl.spamcop.net
reject_rbl_client cbl.abuseat.org reject_rbl_client
dnsbl.njabl.org reject_rbl_client dnsbl.sorbs.net permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
strict_mailbox_ownership = no
transport_maps = mysql:/etc/postfix/mysql_virtual_transports.cf
unknown_local_recipient_reject_code = 450
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_destination_recipient_limit = 1
virtual_gid_maps = static:12
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit_maps =
mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = no
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_maildir_limit_message = "L'utilisateur que vous tentez de
contacter a atteint son quota."
virtual_minimum_uid = 1001
virtual_overquota_bounce = yes
virtual_transport = dovecot
virtual_trash_count = no
virtual_uid_maps = static:1001
master.cf :
smtp inet n - n - - smtpd
-o content_filter=lmtp:unix:/var/run/dspam/dspam.sock
virtual unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d
$(recipient)
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d
$(recipient)
127.0.0.1:10026 inet n - - - - smtpd
-o content_filter=
-o
receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f
${sender} -- ${recipient}
virtual-mailman :
# LOOP ADDRESSES START
mailman-l...@ml.domain.com mailman-loop
# LOOP ADDRESSES END
# STANZA START: mailman
# CREATED: Wed Apr 29 12:24:06 2009
mail...@ml.domain.com mailman
mailman-ad...@ml.domain.com mailman-admin
mailman-boun...@ml.domain.com mailman-bounces
mailman-conf...@ml.domain.com mailman-confirm
mailman-j...@ml.domain.com mailman-join
mailman-le...@ml.domain.com mailman-leave
mailman-ow...@ml.domain.com mailman-owner
mailman-requ...@ml.domain.com mailman-request
mailman-subscr...@ml.domain.com mailman-subscribe
mailman-unsubscr...@ml.domain.com mailman-unsubscribe
# STANZA END: mailman
# STANZA START: interne
# CREATED: Wed Apr 29 12:24:06 2009
inte...@ml.domain.com interne
interne-ad...@ml.domain.com interne-admin
interne-boun...@ml.domain.com interne-bounces
interne-conf...@ml.domain.com interne-confirm
interne-j...@ml.domain.com interne-join
interne-le...@ml.domain.com interne-leave
interne-ow...@ml.domain.com interne-owner
interne-requ...@ml.domain.com interne-request
interne-subscr...@ml.domain.com interne-subscribe
interne-unsubscr...@ml.domain.com interne-unsubscribe
# STANZA END: interne
alias :
# The ultimate loop stopper address
mailman-loop: /var/lib/mailman/data/owner-bounces.mbox
# STANZA START: mailman
# CREATED: Wed Apr 29 12:24:06 2009
mailman: "|/usr/lib64/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/lib64/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/lib64/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/lib64/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/lib64/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/lib64/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/lib64/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/lib64/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/lib64/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/lib64/mailman/mail/mailman unsubscribe mailman"
# STANZA END: mailman
# STANZA START: interne
# CREATED: Wed Apr 29 12:24:06 2009
interne: "|/usr/lib64/mailman/mail/mailman post interne"
interne-admin: "|/usr/lib64/mailman/mail/mailman admin interne"
interne-bounces: "|/usr/lib64/mailman/mail/mailman bounces interne"
interne-confirm: "|/usr/lib64/mailman/mail/mailman confirm interne"
interne-join: "|/usr/lib64/mailman/mail/mailman join interne"
interne-leave: "|/usr/lib64/mailman/mail/mailman leave interne"
interne-owner: "|/usr/lib64/mailman/mail/mailman owner interne"
interne-request: "|/usr/lib64/mailman/mail/mailman request interne"
interne-subscribe: "|/usr/lib64/mailman/mail/mailman subscribe interne"
interne-unsubscribe: "|/usr/lib64/mailman/mail/mailman unsubscribe interne"
# STANZA END: interne
Any idea ?
Thanks.