[dpdk-dev] mailing list configuration

Thomas Monjalon thomas.monjalon at 6wind.com
Sat Mar 12 19:37:46 CET 2016


Hi all,

Please find an information notice about mailman running this mailing list.

You can change your settings at this URL:
	http://dpdk.org/ml/options/dev/

There is an option "nodupes":
"
Avoid duplicate copies of messages?
When you are listed explicitly in the To: or Cc: headers of a list message,
you can opt to not receive another copy from the mailing list.
"
It is enabled most of the time (default).

It may be helpful to disable "nodupes", i.e. receive copies, to filter
whole threads from the mailing list (List-Id) in a folder while keeping
a copy of the messages addressed to you in your inbox.
It is a way to avoid missing important messages.

For those who want to keep "nodupes" enabled, i.e. receive only one copy,
mailman will not send them the messages where they are explicit recipients.
So they will receive only the message directly from the sender' SMTP
(untouched by mailman).
But it is not the full story. The other members of the mailing list will
receive the message from mailman with a modified CC header.
Indeed, members having enabled "nodupes" are dropped from CC list.

Some members were complaining about this weird bug-haviour.
That's why this patch has been applied to keep CC list untouched:

--- mailman-2.1.15/Handlers/AvoidDuplicates.py
+++ mailman-2.1.15/Handlers/AvoidDuplicates.py
@@ -51,12 +51,8 @@
     for addr in listaddrs:
         explicit_recips[addr.lower()] = True
     # Figure out the set of explicit recipients
-    ccaddrs = {}
     for header in ('to', 'cc', 'resent-to', 'resent-cc'):
         addrs = getaddresses(msg.get_all(header, []))
-        if header == 'cc':
-            for name, addr in addrs:
-                ccaddrs[addr.lower()] = name, addr
         for name, addr in addrs:
             if not addr:
                 continue
@@ -85,8 +81,6 @@
             if send_duplicate:
                 msgdata.setdefault('add-dup-header', {})[r] = True
                 newrecips.append(r)
-            elif ccaddrs.has_key(r.lower()):
-                del ccaddrs[r.lower()]
         else:
             # Otherwise, this is the first time they've been in the recips
             # list.  Add them to the newrecips list and flag them as having
@@ -94,7 +88,3 @@
             newrecips.append(r)
     # Set the new list of recipients
     msgdata['recips'] = newrecips
-    # RFC 2822 specifies zero or one CC header
-    del msg['cc']
-    if ccaddrs:
-        msg['Cc'] = COMMASPACE.join([formataddr(i) for i in ccaddrs.values()])

Thanks to Olivier for helping.
If anyone is volunteer to work with mailman community, a configuration option
could be introduced.


More information about the dev mailing list