X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=bin%2FBackupPC_sendEmail;h=4b8d65277f5ec335597a258663c9ea82ee90e0aa;hp=3f82313411526ce10a3ba1b1e66c82f76b887620;hb=refs%2Ftags%2Fv3_0_0beta1;hpb=617af75f7419e95a9c3ea05b05cf21957acc331c diff --git a/bin/BackupPC_sendEmail b/bin/BackupPC_sendEmail index 3f82313..4b8d652 100755 --- a/bin/BackupPC_sendEmail +++ b/bin/BackupPC_sendEmail @@ -31,7 +31,7 @@ # #======================================================================== # -# Version 3.0.0alpha, released 23 Jan 2006. +# Version 3.0.0beta1, released 30 Jul 2006. # # See http://backuppc.sourceforge.net. # @@ -61,21 +61,65 @@ use vars qw(%UserEmailInfo); do "$LogDir/UserEmailInfo.pl"; my %opts; -if ( !getopts("t", \%opts) || @ARGV != 0 ) { - print("usage: $0 [-t]\n"); +if ( !getopts("ctu:", \%opts) || @ARGV != 0 ) { + print <ServerConnect($Conf{ServerHost}, $Conf{ServerPort}); if ( $err ) { + if ( $opts{c} && $Conf{EMailAdminUserName} ne "" ) { + my $headers = $Conf{EMailHeaders}; + $headers .= "\n" if ( $headers !~ /\n$/ ); + my $mesg = <ServerMesg("status hosts"); $reply = $1 if ( $reply =~ /(.*)/s ); my(%Status, %Info, %Jobs, @BgQueue, @UserQueue, @CmdQueue); eval($reply); +########################################################################### +# Generate test message if required +########################################################################### +if ( $opts{u} ne "" ) { + my $headers = $Conf{EMailHeaders}; + $headers .= "\n" if ( $headers !~ /\n$/ ); + my $mesg = <{$1}) ? $vars->{$1} : "\$$1"/eg; $vars->{subj} = $subj; $mesg =~ s/\$(\w+)/defined($vars->{$1}) ? $vars->{$1} : "\$$1"/eg; - if ( $opts{t} ) { - print("#" x 75, "\n"); - print $mesg; - } else { - SendMail($mesg); - } + SendMail($mesg); $UserEmailInfo{$user}{lastTime} = time; $UserEmailInfo{$user}{lastSubj} = $subj; $UserEmailInfo{$user}{lastHost} = $host; @@ -334,14 +368,25 @@ sub sendUserEmail sub SendMail { my($mesg) = @_; - my($from) = $Conf{EMailFromUserName}; + my $from = $Conf{EMailFromUserName}; + my $utf8 = 1 + if ( $Conf{EMailHeaders} =~ /Content-Type:.*charset="utf-?8"/i ); local(*MAIL); + if ( $opts{t} ) { + binmode(STDOUT, ":utf8") if ( $utf8 ); + print("#" x 75, "\n"); + print $mesg; + return; + } $from = "-f $from" if ( $from ne "" ); + print("Sending test email using $Conf{SendmailPath} -t $from\n") + if ( $opts{u} ne "" ); if ( !open(MAIL, "|$Conf{SendmailPath} -t $from") ) { printf("Can't run sendmail ($Conf{SendmailPath}): $!\n"); return; } + binmode(MAIL, ":utf8") if ( $utf8 ); print MAIL $mesg; close(MAIL); }