HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: 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,pcntl_unshare,
Upload Files
File: //usr/share/webmin/virtual-server/notify.cgi
#!/usr/bin/perl
# Actually email server owners

require './virtual-server-lib.pl';
&can_edit_templates() || &error($text{'newnotify_ecannot'});
&foreign_require("mailboxes");
&ReadParseMime();

# Validate inputs
&error_setup($text{'notify_err'});
if ($in{'servers_def'}) {
	@doms = grep { $_->{'emailto'} } &list_domains();
	}
else {
	@doms = map { &get_domain($_) } split(/\0/, $in{'servers'});
	}
@doms || &error($text{'newnotify_edoms'});
$in{'subject'} =~ /\S/ || &error($text{'newnotify_esubject'});
$in{'from'} =~ /^\S+\@\S+$/ || &error($text{'newnotify_efrom'});
$in{'body'} =~ s/\r//g;
$in{'body'} =~ /\S/ || &error($text{'newnotify_ebody'});

# Construct and send the email
@to = map { $_->{'emailto'} } @doms;
@objs = @doms;
if ($in{'admins'}) {
	# Add extra admins
	foreach my $d (@doms) {
		push(@to, map { $_->{'email'} }
			    grep { $_->{'email'} }
			       &list_extra_admins($d));
		push(@objs, grep { $_->{'email'} } &list_extra_admins($d));
		}
	}
if ($in{'users'}) {
	# Add domain mailboxes
	foreach my $d (grep { $_->{'mail'} } @doms) {
		foreach my $u (&list_domain_users($d, 1, 0, 1, 1)) {
			if ($u->{'email'}) {
				push(@to, $u->{'email'});
				push(@objs, $u);
				}
			}
		}
	}
@to = &unique(@to);
&send_notify_email($in{'from'}, \@objs, undef, $in{'subject'}, $in{'body'},
		   $in{'attach'}, $in{"attach_filename"},
		   $in{"attach_content_type"}, $in{'admins'},
		   !$in{'nomany'}, &get_charset());

# Tell the user
&ui_print_header(undef, $text{'newnotify_title'}, "");

print $text{'newnotify_done'},"<p>\n";
foreach $t (@to) {
	print "<tt>$t</tt><br>\n";
	}
&run_post_actions();
&webmin_log("notify", undef, undef, { 'to' => join("\0", @to) });

&ui_print_footer("", $text{'index_return'});