projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
optimization for ginourmous numbers of packages for intergate, whew
[freeside.git]
/
FS
/
bin
/
freeside-receivables-report
diff --git
a/FS/bin/freeside-receivables-report
b/FS/bin/freeside-receivables-report
index
6d04ba9
..
f3ad2a1
100755
(executable)
--- a/
FS/bin/freeside-receivables-report
+++ b/
FS/bin/freeside-receivables-report
@@
-5,16
+5,17
@@
use Date::Parse;
use Time::Local;
use Getopt::Std;
use Text::Template;
use Time::Local;
use Getopt::Std;
use Text::Template;
+use Net::SMTP;
+use Mail::Header;
+use Mail::Internet;
use FS::Conf;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch);
use FS::cust_main;
use FS::Conf;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch);
use FS::cust_main;
-# Set the mail program
-my $mail_program = "/usr/sbin/sendmail -t -n";
&untaint_argv; #what it sounds like (eww)
&untaint_argv; #what it sounds like (eww)
-use vars qw($opt_v $opt_p $opt_m $opt_e $opt_t $report_lines $report_template @buf);
+use vars qw($opt_v $opt_p $opt_m $opt_e $opt_t $report_lines $report_template @buf
$header
);
getopts("vpmet:"); #switches
#we're at now now (and later).
getopts("vpmet:"); #switches
#we're at now now (and later).
@@
-34,6
+35,9
@@
adminsuidsetup $user;
my $conf = new FS::Conf;
my $lpr = $conf->config('lpr');
my $email = $conf->config('email');
my $conf = new FS::Conf;
my $lpr = $conf->config('lpr');
my $email = $conf->config('email');
+my $smtpmachine = $conf->config('smtpmachine');
+my $mail_sender = $conf->exists('invoice_from') ? $conf->config('invoice_from') :
+ 'postmaster';
my @report_template = $conf->config('report_template')
or die "cannot load config file report_template";
$report_lines = 0;
my @report_template = $conf->config('report_template')
or die "cannot load config file report_template";
$report_lines = 0;
@@
-65,14
+69,14
@@
if ($lpr && $opt_p)
if ($email && $opt_m)
{
if ($email && $opt_m)
{
-
open (MAIL, "|$mail_program")
;
- print MAIL <<END
-To: $email
-From: Account Processor
-Subject: Receivables
-
-
-END
+
$ENV{MAILADDRESS} = $mail_sender
;
+ $header = new Mail::Header ( [
+ "From: Account Processor",
+ "To: $email",
+ "Sender: $mail_sender",
+ "Reply-To: $mail_sender",
+ "Subject: Receivables",
+ ] );
}
my $total = 0;
}
my $total = 0;
@@
-139,8
+143,13
@@
if($lpr && $opt_p)
}
if($email && $opt_m)
{
}
if($email && $opt_m)
{
- print MAIL map "$_\n", @report;
- close MAIL || die "Could not close printer: $email\n";
+ my $message = new Mail::Internet (
+ 'Header' => $header,
+ 'Body' => [ (@report) ],
+ );
+ $!=0;
+ $message->smtpsend( Host => "$smtpmachine" )
+ or die "can't send report to $email via $smtpmachine: $!";
}
}
@@
-148,7
+157,7
@@
if($email && $opt_m)
sub untaint_argv {
foreach $_ ( $[ .. $#ARGV ) { #untaint @ARGV
sub untaint_argv {
foreach $_ ( $[ .. $#ARGV ) { #untaint @ARGV
- $ARGV[$_] =~ /^([\w\-\/ ]*)$/ || die "Illegal argument \"$ARGV[$_]\"";
+ $ARGV[$_] =~ /^([\w\-\/
\.
]*)$/ || die "Illegal argument \"$ARGV[$_]\"";
$ARGV[$_]=$1;
}
}
$ARGV[$_]=$1;
}
}
@@
-169,21
+178,21
@@
freeside-receivables-report - Prints or emails outstanding receivables.
Prints or emails outstanding receivables
Prints or emails outstanding receivables
-
-v
: Verbose - Prints records to STDOUT.
+
B<-v>
: Verbose - Prints records to STDOUT.
-
-p
: Print to printer lpr as found in the conf directory.
+
B<-p>
: Print to printer lpr as found in the conf directory.
-
-m
: Mail output to user found in the Conf email file.
+
B<-m>
: Mail output to user found in the Conf email file.
-
-e
: Print a final form feed to the printer.
+
B<-e>
: Print a final form feed to the printer.
-
-t
: supply a title for the top of each page.
+
B<-t>
: supply a title for the top of each page.
user: From the mapsecrets file - see config.html from the base documentation
=head1 VERSION
user: From the mapsecrets file - see config.html from the base documentation
=head1 VERSION
-$Id: freeside-receivables-report,v 1.
3 2002-03-05 23:13:23 jeff
Exp $
+$Id: freeside-receivables-report,v 1.
6 2002-09-09 22:57:34 ivan
Exp $
=head1 BUGS
=head1 BUGS
@@
-198,15
+207,11
@@
for more information regarding this license.
L<FS::cust_main>, config.html from the base documentation
L<FS::cust_main>, config.html from the base documentation
-=head1
HISTORY
+=head1
AUTHOR
-griff@aver-computer.com July 99
-
-$Log: freeside-receivables-report,v $
-Revision 1.3 2002-03-05 23:13:23 jeff
-consistency is nice
+Jeff Finucane <jeff@cmh.net>
+based on print-batch by Joel Griffiths <griff@aver-computer.com>
=cut
=cut
-