]> git.proxmox.com Git - pve-manager.git/blame - bin/pvemailforward.pl
status/metrics: make MTU configurable
[pve-manager.git] / bin / pvemailforward.pl
CommitLineData
776de3bc 1#!/usr/bin/perl -T
782bc232
DM
2
3use strict;
4use warnings;
5use PVE::Tools;
6use PVE::SafeSyslog;
7use PVE::AccessControl;
ffdb22ff 8use PVE::Cluster qw (cfs_read_file);
3ac3653e 9use PVE::DataCenterConfig;
782bc232
DM
10
11# NOTE: we need to run this with setgid www-data
12# else we cant read /etc/pve/user.cfg
13
ffdb22ff
DM
14$( = $); # $GID = $EGID
15
782bc232
DM
16$ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin';
17
18initlog('pvemailforward');
19
782bc232 20
ffdb22ff
DM
21PVE::Cluster::cfs_update();
22
23eval {
24 my $usercfg = cfs_read_file("user.cfg");
782bc232
DM
25 my $rootcfg = $usercfg->{users}->{'root@pam'} || {};
26 my $mailto = $rootcfg->{email};
27
4b152656
SGE
28 my $dcconf = cfs_read_file('datacenter.cfg');
29 my $mailfrom = $dcconf->{email_from} || "root";
30
782bc232
DM
31 die "user 'root\@pam' does not have a email address\n" if !$mailto;
32
33 syslog("info", "forward mail to <$mailto>");
34
35 # we never send DSN (avoid mail loops)
4b152656 36 open(CMD, "|sendmail -bm -N never -f $mailfrom $mailto") ||
782bc232
DM
37 die "can't exec sendmail - $!\n";
38 while (<>) { print CMD $_; }
39 close(CMD);
40};
41if (my $err = $@) {
42 syslog('err', "mail forward failed: $err");
43}
44
45exit(0);