Mini Shell
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/fixmailman Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use Cpanel::Config::LoadCpConf ();
use Cpanel::Mailman::Perms ();
use Cpanel::Mailman::Filesys ();
#############################################
# Gotta check to see if mailman is disabled #
#############################################
my $cpconf = Cpanel::Config::LoadCpConf::loadcpconf();
if ( $cpconf->{'skipmailman'} ) {
print "Mailman is disabled\n";
exit 0;
}
##################################################
# Fix permissions for archives and mailing lists #
##################################################
my $mailman = Cpanel::Mailman::Perms->new();
print "Setting mailman archive permissions.\n";
$mailman->set_archive_perms();
print "Setting mailman lists permissions.\n";
my $MAILMAN_LIST_DIR = Cpanel::Mailman::Filesys::MAILING_LISTS_DIR();
if ( opendir( my $list_dir, $MAILMAN_LIST_DIR ) ) {
while ( my $list = readdir($list_dir) ) {
next if ( $list !~ m/_/ && $list !~ m/mailman/ );
$mailman->set_perms_for_one_list($list);
}
}
else {
print "Failed to open: " . $MAILMAN_LIST_DIR . " ($!)\n";
}
##################################################################################################
# Checking for files in /usr/local/cpanel/3rdparty/mailman/qfiles/out and removing if they exist #
##################################################################################################
print "Purging mailman queue.\n";
my $qdir = '/usr/local/cpanel/3rdparty/mailman/qfiles/out';
if ( opendir( my $dh, $qdir ) ) {
while ( my $qfile = readdir($dh) ) {
if ( $qfile !~ m/^\./ ) {
unlink("$qdir/$qfile") or print "Failed to unlink file $qdir/$qfile: $!\n";
}
}
closedir $dh;
}
else {
print "Unable to open directory $qdir: $!\n";
}
exit(0);
Zerion Mini Shell 1.0