X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMisc.pm;h=0e366e8c7b065f5b95471811be860cfe75e9ba1c;hb=2cdb0b3f9e3b778fd914d847fc7851948a9930e4;hp=4d9d57beb9f661590d93c43e62dfeed2aa9ef9af;hpb=d86acb18972bc027888cf2db0c2a6a34b7da2f55;p=freeside.git diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm index 4d9d57beb..0e366e8c7 100644 --- a/FS/FS/Misc.pm +++ b/FS/FS/Misc.pm @@ -109,8 +109,7 @@ use vars qw( $conf ); use Date::Format; use MIME::Entity; use Email::Sender::Simple qw(sendmail); -use Email::Sender::Transport::SMTP; -use Email::Sender::Transport::SMTP::TLS 0.11; +use Email::Sender::Transport::SMTP 1.300027; #for SSL/TLS support use FS::UID; FS::UID->install_callback( sub { @@ -249,18 +248,18 @@ sub send_email { my($port, $enc) = split('-', ($conf->config('smtp-encryption') || '25') ); $smtp_opt{'port'} = $port; - my $transport; if ( defined($enc) && $enc eq 'starttls' ) { - $smtp_opt{$_} = $conf->config("smtp-$_") for qw(username password); - $transport = Email::Sender::Transport::SMTP::TLS->new( %smtp_opt ); - } else { - if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) { - $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password); - } - $smtp_opt{'ssl'} = 1 if defined($enc) && $enc eq 'tls'; - $transport = Email::Sender::Transport::SMTP->new( %smtp_opt ); + $smtp_opt{'ssl'} = 'starttls'; + } elsif ( defined($enc) && $enc eq 'tls' ) { + $smtp_opt{'ssl'} = 'ssl'; + } + + if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) { + $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password); } + my $transport = Email::Sender::Transport::SMTP->new( %smtp_opt ); + push @to, $options{bcc} if defined($options{bcc}); # fully unpack all addresses found in @to (including Bcc) to make the # envelope list @@ -732,6 +731,8 @@ sub generate_ps { my $papersize = $conf->config('papersize') || 'letter'; + local($SIG{CHLD}) = sub {}; + system('dvips', '-q', '-t', $papersize, "$file.dvi", '-o', "$file.ps" ) == 0 or die "dvips failed"; @@ -789,6 +790,8 @@ sub generate_pdf { #system('dvipdf', "$file.dvi", "$file.pdf" ); my $papersize = $conf->config('papersize') || 'letter'; + local($SIG{CHLD}) = sub {}; + system( "dvips -q -f $sfile.dvi -t $papersize ". "| gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$sfile.pdf ". @@ -871,6 +874,7 @@ sub do_print { : $conf->config('lpr', $opt{'agentnum'} ); my $outerr = ''; + local($SIG{CHLD}) = sub {}; run3 $lpr, $data, \$outerr, \$outerr; if ( $? ) { $outerr = ": $outerr" if length($outerr); @@ -960,6 +964,8 @@ sub ocr_image { print $fh $logo_data; close $fh; + local($SIG{CHLD}) = sub {}; + run( [qw(ocroscript recognize), $filename], '>'=>"$filename.hocr" ) or die "ocroscript recognize failed\n";