2

I have a mailing list within mailman that has the flag "Require Explicit Destination" set to True. I would like to turn this off but only have access via command-line. How can I turn this off/set to false using the command-line?

masegaloeh
  • 18,236
  • 10
  • 57
  • 106
user2643864
  • 165
  • 1
  • 1
  • 4
  • 2
    Have you looked in the Mailman documentation? – Andrew Schulman Jan 22 '15 at 09:06
  • 1
    Yes, and I can't figure it out. Thus the post to this fantastic forum. – user2643864 Jan 22 '15 at 09:07
  • @AndrewSchulman Imho both of you have right. The intended goal of the site to provide good answers for the google indexing engine. The answers provided here will be maybe better indexable, as the mailman documentation (which is organized around the mailman functionality, and not be induvidual mailman problems). – peterh Jan 22 '15 at 10:18
  • 1
    The point I was trying to make is that the user should show us what effort he's already put into solving the problem, so we know he's not just asking us to look something up for him. – Andrew Schulman Jan 22 '15 at 10:32
  • 2
    @AndrewSchulman It is also true, but I think there is a considerable effort. His problem is not the "Require Explicit Destination" flag, but probably to finetune the spam protection or Cc-overflow handling settings of his mailing list. I think he did the required minimal own effort by finding out, which setting is what he needs to change. – peterh Jan 22 '15 at 10:43

2 Answers2

3

The binary that you are looking for is bin/config_list. It can be used to dump the configuration of a list or set some config of the list. Snippet from mailman documentation

config_list

This is a very powerful script which lets you view and modify a list's configuration variables from the command line. E.g. you can dump out all the list options into a plain text file (actually a valid Python file!), complete with comments explaining each variable. Or you can apply the configuration from such a file to a particular list.

Where this might be useful is if you wanted to change the web_page_url attribute on every list. You could create a file containing only the line

web_page_url = 'http://www.mynewsite.com/mailman-relocated/'

and then feed this file back to config_list for every list on your system. config_list only sets the list variables that it finds in the input file.

First you need to know the valid variable name that control the behavior that you want. And for "Require Explicit Destination", the correspondence variable is require_explicit_destination. You can see it when browsing through this URL /mailman/admin/listname/privacy/recipient in your mailman.

Based from the example you should provide a text file with content

require_explicit_destination = 0

Then run

bin/config_list -i mailman.txt listname
masegaloeh
  • 18,236
  • 10
  • 57
  • 106
2

The list-specific options of the mailman are normally in /var/lib/mailman/<listname>/config.pck. The pck is a binary database format used by most python software. Mailman is written in python, too.

The are a lot of python tools to edit .pck files, which you find easily by google. But in the case of the mailman this is not what I would suggest to you.

Instead of that, mailman has a very fine command line toolkit as well, which is essentially much better as its web-based interface (although it is not so simple to use). You can find its binaries in probably /usr/lib/mailman/bin. The tool with you can edit the settings of the already existing lists, named config_list here. With dumpdb you can easily dump the configuration of an individual list, to see, which settings you want to change and how. Good luck!

peterh
  • 4,953
  • 13
  • 30
  • 44