]>
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); |
782bc232 DM |
9 | |
10 | # NOTE: we need to run this with setgid www-data | |
11 | # else we cant read /etc/pve/user.cfg | |
12 | ||
ffdb22ff DM |
13 | $( = $); # $GID = $EGID |
14 | ||
782bc232 DM |
15 | $ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin'; |
16 | ||
17 | initlog('pvemailforward'); | |
18 | ||
782bc232 | 19 | |
ffdb22ff DM |
20 | PVE::Cluster::cfs_update(); |
21 | ||
22 | eval { | |
23 | my $usercfg = cfs_read_file("user.cfg"); | |
782bc232 DM |
24 | my $rootcfg = $usercfg->{users}->{'root@pam'} || {}; |
25 | my $mailto = $rootcfg->{email}; | |
26 | ||
4b152656 SGE |
27 | my $dcconf = cfs_read_file('datacenter.cfg'); |
28 | my $mailfrom = $dcconf->{email_from} || "root"; | |
29 | ||
782bc232 DM |
30 | die "user 'root\@pam' does not have a email address\n" if !$mailto; |
31 | ||
32 | syslog("info", "forward mail to <$mailto>"); | |
33 | ||
34 | # we never send DSN (avoid mail loops) | |
4b152656 | 35 | open(CMD, "|sendmail -bm -N never -f $mailfrom $mailto") || |
782bc232 DM |
36 | die "can't exec sendmail - $!\n"; |
37 | while (<>) { print CMD $_; } | |
38 | close(CMD); | |
39 | }; | |
40 | if (my $err = $@) { | |
41 | syslog('err', "mail forward failed: $err"); | |
42 | } | |
43 | ||
44 | exit(0); |