]>
Commit | Line | Data |
---|---|---|
776de3bc | 1 | #!/usr/bin/perl -T |
782bc232 DM |
2 | |
3 | use strict; | |
4 | use warnings; | |
5 | use PVE::Tools; | |
6 | use PVE::SafeSyslog; | |
7 | use PVE::AccessControl; | |
ffdb22ff | 8 | use PVE::Cluster qw (cfs_read_file); |
3ac3653e | 9 | use 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 | ||
18 | initlog('pvemailforward'); | |
19 | ||
782bc232 | 20 | |
ffdb22ff DM |
21 | PVE::Cluster::cfs_update(); |
22 | ||
23 | eval { | |
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 | }; | |
41 | if (my $err = $@) { | |
42 | syslog('err', "mail forward failed: $err"); | |
43 | } | |
44 | ||
45 | exit(0); |