a029c045e9
to make sure that the corresponding cfs_read_file works() works. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
46 lines
1.0 KiB
Perl
Executable File
46 lines
1.0 KiB
Perl
Executable File
#!/usr/bin/perl -T
|
|
|
|
use strict;
|
|
use warnings;
|
|
use PVE::Tools;
|
|
use PVE::SafeSyslog;
|
|
use PVE::AccessControl;
|
|
use PVE::Cluster qw (cfs_read_file);
|
|
use PVE::DataCenterConfig;
|
|
|
|
# NOTE: we need to run this with setgid www-data
|
|
# else we cant read /etc/pve/user.cfg
|
|
|
|
$( = $); # $GID = $EGID
|
|
|
|
$ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin';
|
|
|
|
initlog('pvemailforward');
|
|
|
|
|
|
PVE::Cluster::cfs_update();
|
|
|
|
eval {
|
|
my $usercfg = cfs_read_file("user.cfg");
|
|
my $rootcfg = $usercfg->{users}->{'root@pam'} || {};
|
|
my $mailto = $rootcfg->{email};
|
|
|
|
my $dcconf = cfs_read_file('datacenter.cfg');
|
|
my $mailfrom = $dcconf->{email_from} || "root";
|
|
|
|
die "user 'root\@pam' does not have a email address\n" if !$mailto;
|
|
|
|
syslog("info", "forward mail to <$mailto>");
|
|
|
|
# we never send DSN (avoid mail loops)
|
|
open(CMD, "|sendmail -bm -N never -f $mailfrom $mailto") ||
|
|
die "can't exec sendmail - $!\n";
|
|
while (<>) { print CMD $_; }
|
|
close(CMD);
|
|
};
|
|
if (my $err = $@) {
|
|
syslog('err', "mail forward failed: $err");
|
|
}
|
|
|
|
exit(0);
|