[Mailman-Users] subscribe policy for admin and user approvalnotworking

Mark Sapiro msapiro at value.net
Fri Feb 24 23:43:44 CET 2006


Jana Nguyen wrote:

>Mark Sapiro wrote:
>>
>>DEFAULT_SUBSCRIBE_POLICY sets the initial subscribe_policy for new
>>lists. You may or may not want to override that in mm_cfg.py with
>>DEFAULT_SUBSCRIBE_POLICY = 3,
>>
>Did this, then restart the mailman server, but it only sent confirmation 
>for user and did not ask the admin (still does not work):
>
>DEFAULT_SUBSCRIBE_POLICY = 3


It ONLY sets the INITIAL policy for newly created lists. It does
nothing for existing lists.


>> but what you really want in this case is
>>to go to the list admin interface Privacy options...->Subscription
>>rules page for the existing list and set subscribe_policy to Confirm
>>and Approve.
>>  
>>
>I don't want to rely on the list manager of each mailing list that they 
>will enable this option.  I want to set it in the policy or mm_cfg.py to 
>ensure
>that this policy is enable.


It is a PER LIST setting under control of the list admin. You could use
bin/withlist for example to set subscribe_policy to 3 for all existing
lists, but any list admin who doesn't want to approve subscriptions
can always set it back any time they want.

You have now set mm_cfg.py so that newly created lists will have
subscribe policy set to Confirm and Approve. If you now want to do the
same for all existing lists (and deal with the questions from all your
list admins who want to know why they suddenly have to approve all
subscription requests and then the users still aren't subscribed
because they didn't respond to the confirmation), do the following:

Create a file bin/set_confirm_and_approve.py containing

---cut here-------------------------------------------------
"""Set subscription policy to Confirm and Approve for all lists.

Save as bin/set_confirm_and_approve.py and run with

bin/withlist -a -r set_confirm_and_approve
"""

def set_confirm_and_approve(mlist):
    if not mlist.Locked():
        mlist.Lock()
    mlist subscribe_policy = 3
    mlist.Save()
    mlist.Unlock()
---cut here-------------------------------------------------

and run it with bin/withlist as indicated.

Alternatively, you can create a file containing simply

subscribe_policy = 3

and create a shell or other script to run bin/config_list over all
lists with that one line file as input.

-- 
Mark Sapiro <msapiro at value.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