#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Mailman;
use Getopt::Long;
use YAML::Tiny qw( LoadFile DumpFile Dump );
my %param = (
config => 'mailman.yml',
cookie => 'mailman.cookie',
);
GetOptions( \%param, 'config=s', 'cookie=s' )
or die "Usage: $0 [ --config file ] [ --cookie file ]\n";
my $lists = LoadFile( $param{config} );
my %opt = ( cookie_file => $param{cookie} );
# actual code
# request a password reminder for all lists without a password
for my $list ( values %$lists ) {
next if exists $list->{password};
print "Requesting password by email for $list->{uri}\n";
WWW::Mailman->new( %opt, %$list )->emailpw;
}