[Mailman-Users] Messages addressed to Mailman lists are systematically diverted to predefined default email account

Mark Sapiro mark at msapiro.net
Fri Mar 14 03:12:43 CET 2014


On 03/13/2014 11:59 AM, Jacques Setton wrote:
> 
> For example, in the below maillog trace we see that the memo initially
> addressed to myslist at domain.net by admin-europe at waycast.eu is finally
> delivered to the default account admin at domain.net instead of being processed
> by '/usr/lib/mailman/mail/mailman post mylist' as it should normally be the
> case :


But we don't see why? Strangely enough, there is no Postfix log entry
saying anything about the redirect from orig_to=<mylist at domain.net> to
to=<admin at domain.fr>. Also, there is a 2 and a half minute delay between
receipt of the message and delivery (delays=0.1/0.01/60/90) of which 60
seconds is connection setup time including DNS, HELO and TLS; and 90
seconds is message transmission time. Does this seem OK?

Anyway, this can occur if there is a virtual mapping from
mylist at domain.net to admin at domain.fr that is taking priority over
/etc/mailman/virtual-mailman


> - - -
> [root at vps12345 ~]# more /usr/local/psa/var/log/maillog | grep 1A52911616E
> 
> Mar 11 23:12:27 vps12345 postfix/smtpd[19763]: 1A52911616E:
> client=relay6-d.mail.gandi.net[217.70.183.198]
> 
> Mar 11 23:12:27 vps12345 postfix/cleanup[19767]: 1A52911616E:
> message-id=<!&!AAAAAAAAAAAYAAAAAAAAAHqVdj4TMlNNnKyTMxcTrDTCgAAAEAAAABDlMhHAh
> X9PqvkRNi1Uq10BAAAAAA==@waycast.eu>
> 
> Mar 11 23:12:27 vps12345 postfix/qmgr[19671]: 1A52911616E:
> from=<admin-europe at waycast.eu>, size=17420, nrcpt=1 (queue active)
> 
> Mar 11 23:14:57 vps129345 postfix/smtp[19770]: 1A52911616E:
> to=<admin at domain.fr>, orig_to=<mylist at domain.net>, 
> relay=mx1.ovh.net[213.186.33.29]:25, delay=150, delays=0.1/0.01/60/90,
> dsn=2.0.0, status=sent (250 ok 1394576096 qp 28763)
> 
> Mar 11 23:14:57 vps12345 postfix/qmgr[19671]: 1A52911616E: removed
> 
> [root at vps12345 ~]#
> 
> - - - 
> 
> Despite skimming through this Mailman-Users list and many other source
> publications, I haven't yet been able to figure out the exact origin of this
> abnormal behavior. Though I suspect a poorly defined Postfix 'transport'
> specification (see item 7 further below), but this remains to be confirmed.


The transport involved should be local.


> Please note that I am using a hosted VPS running CentOS with, among other
> things, Plesk, Postfix and Mailman. All software versions and configuration
> details are communicated below. Another piece of useful information : the
> 'admin at domain.fr' default account has been specified at Plesk's web admin
> interface level.


See the FAQ at <http://wiki.list.org/display/DOC/Mailman+and+Plesk>


> 2.      Mailman Configuration File relevant excerpts (mm_cfg.py located in
> /usr/lib/mailman/Mailman/)
> 
> { . }
> 
> DEFAULT_URL_HOST   = 'lists.vps12345.ovh.net'
> 
> DEFAULT_EMAIL_HOST = 'vps12345.ovh.net'
> 
> MTA = 'Postfix'
> 
> VIRTUAL_HOSTS.clear()
> 
> add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
> 
> add_virtualhost('lists.domain.net', domain.net')
> 
> POSTFIX_STYLE_VIRTUAL_DOMAINS = ['domain.net']
> 
> VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'localhost'


You may or may not need this, but if you do, you may need Mailman's
bin/genaliases to update virtual-mailman.


> 3.      Mailman aliases set-up for sample list named  'mylist' (aliases and
> aliases.db located in /etc/mailman/)


OK


> 4.      Mailman virtual aliases set-up for sample list named  'mylist'
> (virtual-mailman and virtual-mailman.db located in /etc/mailman/)
> 
> # LOOP ADDRESSES START
> 
> mailman-loop at domain.net        mailman-loop
> 
> # LOOP ADDRESSES END
> 
> { .}
> 
> # STANZA START: mylist
> 
> # CREATED: Mon Feb 24 21:00:44 2014
> 
> mylist at domain.net              mylist


With VIRTUAL_MAILMAN_LOCAL_DOMAIN = 'localhost', these should be

mylist at domain.net              mylist at localhost

and so on.


> 5.      Postfix Configuration File customized parameters (main.cf located in
> /etc/postfix/)
> 
> { .}
> 
> # *** Added $mydomain and '$myorigin' to 'mydestination' parameter list
> 
> mydestination = $myhostname, localhost.$mydomain, localhost.localdomain,
> localhost, $mydomain, $myorigin
> 
> # *** Redefine 'local_recipient_maps' parameter values
> 
> local_recipient_maps = proxy:unix:passwd.byname $alias_maps
> $virtual_alias_maps
> 
> # *** Added Mailman 'aliases' reference in 'alias_maps'
> 
> alias_maps = hash:/etc/aliases, hash:/var/spool/postfix/plesk/aliases,
> hash:/etc/mailman/aliases
> 
> # *** Uncommented 'recipient_delimiter' parameter setting
> 
> recipient_delimiter = +
> 
> # *** Added 'virtual-mailman' reference in 'virtual_alias_maps'
> 
> virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual,
> hash:/etc/mailman/virtual-mailman


virtual_alias_domains = domain.net


> virtual_mailbox_domains = $virtual_mailbox_maps,
> hash:/var/spool/postfix/plesk/virtual_domains
> 
> virtual_mailbox_maps = , hash:/var/spool/postfix/plesk/vmailbox
> 
> # *** Added Postfix Transport location to 'transport_maps' parameter


Why? This is probably only for postfix_to_mailman.


> transport_maps = , hash:/var/spool/postfix/plesk/transport,
> hash:/etc/postfix/transport
> 
> # *** Remainder of customized parameters follows below.
> 
> smtpd_tls_cert_file = /etc./postfix/postfix_default.pem
> 
> smtpd_tls_key_file = $smtpd_tls_cert_file
> 
> smtpd_tls_security_level = may
> 
> smtpd_use_tls = yes
> 
> smtp_tls_security_level = may
> 
> smtp_use_tls = no
> 
> smtpd_timeout = 3600s
> 
> smtpd_proxy_timeout = 3600s
> 
> disable_vrfy_command = yes
> 
> mynetworks = 127.0.0.0/8 [::1]/128 37.187.87.139/32,
> hash:/var/spool/postfix/plesk-pop/poplock
> 
> smtpd_sender_restrictions = check_sender_access
> hash:/var/spool/postfix/plesk/blacklists, permit_sasl_authenticated,
> check_client_access pcre:/var/spool/postfix/plesk/non_auth.re
> 
> smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
> 
> smtp_send_xforward_command = yes
> 
> smtpd_authorized_xforward_hosts = 127.0.0.0/8 [::1]/128
> 
> smtpd_sasl_auth_enable = yes
> 
> smtpd_recipient_restrictions = permit_mynetworks, check_client_access
> pcre:/var/spool/postfix/plesk/no_relay.re, permit_sasl_authenticated,
> reject_unauth_destination
> 
> virtual_mailbox_base = /var/qmail/mailnames
> 
> virtual_uid_maps = static:30
> 
> virtual_gid_maps = static:31
> 
> smtpd_milters = , inet:127.0.0.1:12768
> 
> non_smtpd_milters = , inet:127.0.0.1:12768
> 
> sender_dependent_default_transport_maps =
> hash:/var/spool/postfix/plesk/sdd_transport_maps
> 
> virtual_transport = plesk_virtual


This makes plesk_virtual the transport for all virtual mailbox domains.


> plesk_virtual_destination_recipient_limit = 1
> 
> mailman_destination_recipient_limit = 1


This is for postfix_to_mailman


> mailbox_size_limit = 0
> 
> virtual_mailbox_limit = 0
> 
> myhostname = vps12345.ovh.net
> 
> message_size_limit = 10240000
> 
>  
> 
> 6.      Postfix Master Process Configuration File - Only uncommented lines
> are shown (master.conf located in /etc/postfix)
> 
> # ==========================================================================
> 
> # service type  private unpriv  chroot  wakeup  maxproc command + args
> 
> #               (yes)   (yes)   (yes)   (never) (100)
> 
> # ==========================================================================
> 
> smtp      inet  n       -       n       -       -       smtpd
> 
> pickup fifo n - n 60 1 pickup
> 
> cleanup   unix  n       -       n       -       0       cleanup
> 
> qmgr fifo n - n 1 1 qmgr
> 
> tlsmgr    unix  -       -       n       1000?   1       tlsmgr
> 
> rewrite   unix  -       -       n       -       -       trivial-rewrite
> 
> bounce    unix  -       -       n       -       0       bounce
> 
> defer     unix  -       -       n       -       0       bounce
> 
> trace     unix  -       -       n       -       0       bounce
> 
> verify    unix  -       -       n       -       1       verify
> 
> flush     unix  n       -       n       1000?   0       flush
> 
> proxymap  unix  -       -       n       -       -       proxymap
> 
> proxywrite unix -       -       n       -       1       proxymap
> 
> smtp      unix  -       -       n       -       -       smtp
> 
> relay     unix  -       -       n       -       -       smtp
> 
>       -o smtp_fallback_relay=
> 
> showq     unix  n       -       n       -       -       showq
> 
> error     unix  -       -       n       -       -       error
> 
> retry     unix  -       -       n       -       -       error
> 
> discard   unix  -       -       n       -       -       discard
> 
> local     unix  -       n       n       -       -       local
> 
> virtual   unix  -       n       n       -       -       virtual
> 
> lmtp      unix  -       -       n       -       -       lmtp
> 
> anvil     unix  -       -       n       -       1       anvil
> 
> scache    unix  -       -       n       -       1       scache
> 
> plesk_virtual unix - n n - - pipe flags=DORhu user=popuser:popuser
> argv=/usr/lib64/plesk-9.0/postfix-local -f ${sender} -d ${recipient} -p
> /var/qmail/mailnames
> 
> mailman unix - n n - - pipe flags=R user=mailman:mailman
> argv=/usr/lib64/plesk-9.0/postfix-mailman ${nexthop} ${user} ${recipient}
> 
> plesk_saslauthd unix y y n - 1 plesk_saslauthd status=5 listen=6
> dbpath=/var/spool/postfix/plesk/passwd.db
> 
> smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes
> 
> submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o
> smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o
> smtpd_client_restrictions=permit_sasl_authenticated,reject -o
> smtpd_sender_restrictions= -o
> smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,rej
> ect_unauth_destination
> 
> 37.187.87.139- unix - n n - - smtp -o smtp_bind_address=37.187.87.139 -o
> smtp_bind_address6= -o smtp_address_preference=ipv4
> 
> Note : The 'postfix_to_mailman.py' scheme is NOT USED as the related lines
> stayed commented out.


OK, but why have all that baggage along anyway?


> 7.       Postfix Added Transport Table scheme (transport and transport.db
> located in /etc/postfix/)
> 
> The below-specified transports remained commented out because they cause a
> transport failure when uncommented. It seems that the specifications used
> are probably invalid. These will need to be reworked and we'd welcome
> suggestions as to what to specify instead... 


See the FAQ at <http://wiki.list.org/x/EYDt>, in particular the paragraph

postfix_to_mailman.py is an alternative to and is incompatible with
Mailman delivery via aliases. If you are configuring both Mailman
aliases and postfix_to_mailman.py, you are making a mistake.


> { .}
> 
> # *** ADDED TRANSPORT(5)
> 
> # vps12345.ovh.net   mailman:
> 
> # domain.net   mailman:


-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan


More information about the Mailman-Users mailing list