#!/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; }