????

Your IP : 3.147.46.181


Current Path : /proc/322915/root/scripts/
Upload File :
Current File : //proc/322915/root/scripts/email_hold_maintenance

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/email_hold_maintenance          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

package scripts::email_hold_maintenance;

use strict;
use warnings;

use Cpanel::PIDFile ();

use Cpanel::Email::Accounts::HoldMaintenance ();
use Cpanel::Email::Accounts::Paths           ();
use Cpanel::FileUtils::Dir                   ();

=encoding utf-8

=head1 NAME

scripts::email_hold_maintenance

=head1 SYNOPSIS

    email_hold_maintenance --help

This script will remove the tracking file for email holds that have been released or
deleted from the mail queue.

=cut

use constant PIDFILE => '/var/run/email_hold_maintenance.pid';

use parent qw( Cpanel::HelpfulScript );

__PACKAGE__->new(@ARGV)->script() unless caller();

sub script {
    my ($self) = @_;

    return Cpanel::PIDFile->do(
        PIDFILE,
        sub {
            $self->run();
        }
    );
}

sub _OPTIONS { }

sub run {

    return if !-e $Cpanel::Email::Accounts::Paths::EMAIL_HOLDS_BASE_PATH;

    foreach my $sender ( @{ Cpanel::FileUtils::Dir::get_directory_nodes($Cpanel::Email::Accounts::Paths::EMAIL_HOLDS_BASE_PATH) } ) {
        Cpanel::Email::Accounts::HoldMaintenance::remove_hold_files_for_sender($sender);
    }

    return;
}

1;