[Mailman-Users] Hide sender but keep reply-to sender address?

- Andrei - tucsonandrei at gmail.com
Mon Mar 11 23:53:10 CET 2013

Sorry about that and thanks for your patience with this. I made all
the changes. No errors are generated on  config_list -i
/home/files/config-file test-list However, when I send an email it
gets delivered with unmodified reply-to header. From is replaced with
the list name. When I hit reply, list address comes up, not the
original sender address. I don't see anything in mailman error log.
Here are the mail headers: http://pastebin.com/5qnms2wK From and
Reply-to headers seem unchanged and are from the list (not the

CAT /usr/lib/mailman/Mailman/Handlers/MyHandler.py
#!/usr/bin/env python
from email.Utils import formataddr, getaddresses, parseaddr

def process(mlist, msg, msgdata):
    orig_from = parseaddr(msg.get('from'))
    orig_rt = msg.get_all('reply-to')
    del msg['from']
    msg['From'] = formataddr((mlist.description, mlist.GetListEmail()))
    del msg['reply-to']
    if orig_rt:
        rt_list = getaddresses(orig_rt)
        rt_addr = [x[1] for x in rt_list]
        if orig_from[1] not in rt_addr:
            rt_list += [orig_from]
        rt_list = [orig_from]
    msg['Reply-To'] = ', '.join([formataddr(x) for x in rt_list])

mlist.pipeline = [

On Mon, Mar 11, 2013 at 2:11 PM, Mark Sapiro <mark at msapiro.net> wrote:
> Andrei wrote:
>>Thanks, Mark. I'm trying to use this just for one of the lists.
>>I added MyHandler.py in /var/lib/mailman/Mailman/Handlers, and in
>>config_list added
>>mlist.pipeline = [ 'Replybot', 'MyHandler', 'Moderate', 'ToOutgoing', ]
> I'm not sure what you mean by "in config_list added", but you should
> create an input file which contains only
> mlist.pipeline = [
>     'SpamDetect',
>     'Approve',
>     'Replybot',
>     'Moderate',
>     'Hold',
>     'MimeDel',
>     'Scrubber',
>     'Emergency',
>     'Tagger',
>     'CalcRecips',
>     'AvoidDuplicates',
>     'Cleanse',
>     'CleanseDKIM',
>     'CookHeaders',
>     'MyHandler',
>     'ToDigest',
>     'ToArchive',
>     'ToUsenet',
>     'AfterDelivery',
>     'Acknowledge',
>     'ToOutgoing',
>     ]
> I.e. it should look like the definition of GLOBAL_PIPELINE in
> Defaults.py with the addition of MyHandler immediately before ToDigest
> (and the comments removed).
> Then you run
> config_list -i path/to/above/file test-list
>>When I run config.list test-list I get
>>  File "/usr/sbin/config_list", line 243, in <module>
>>    'ToOutgoing',
>>NameError: name 'mlist' is not defined
> It looks like you may have modified the config_list program itself in
> some way rather than specifying the complete pipeline in an input file.
> --
> 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