#!/usr/bin/perl
#
# Copyright 2008 Liblime
+# Copyright 2014 Foundations Bible College, Inc.
#
# This file is part of Koha.
#
--format=s selects format. Choice of text, html, csv, or tsv
-e --email whether to use e-mail (implied by --to or --from)
+ --username username to pass to the SMTP server for authentication
+ --password password to pass to the SMTP server for authentication
+ --method method is the type of authentication. Ie. LOGIN, DIGEST-MD5, etc.
--to=s e-mail address to send report to
--from=s e-mail address to send report from
--subject=s subject for the e-mail
=over
-=item B<-help>
+=item B<--help>
Print a brief help message and exits.
-=item B<-man>
+=item B<--man>
Prints the manual page and exits.
Verbose. Without this flag set, only fatal errors are reported.
-=item B<-format>
+=item B<--format>
Current options are text, html, csv, and tsv. At the moment, text and tsv both produce tab-separated tab-separated output.
-=item B<-email>
+=item B<--email>
Whether to use e-mail (implied by --to or --from).
-=item B<-to>
+=item B<--username>
+
+Username to pass to the SMTP server for authentication
+
+=item B<--password>
+
+Password to pass to the SMTP server for authentication
+
+=item B<--method>
+
+Method is the type of authentication. Ie. LOGIN, DIGEST-MD5, etc.
+
+=item B<--to>
E-mail address to send report to. Defaults to KohaAdminEmailAddress.
-=item B<-from>
+=item B<--from>
E-mail address to send report from. Defaults to KohaAdminEmailAddress.
-=item B<-subject>
+=item B<--subject>
Subject for the e-mail message. Defaults to "Koha Saved Report"
my $separator = ',';
my $quote = '"';
+my $username = undef;
+my $password = undef;
+my $method = 'LOGIN';
+
GetOptions(
- 'help|?' => \$help,
- 'man' => \$man,
- 'verbose' => \$verbose,
- 'format=s' => \$format,
- 'to=s' => \$to,
- 'from=s' => \$from,
- 'subject=s' => \$subject,
- 'email' => \$email,
+ 'help|?' => \$help,
+ 'man' => \$man,
+ 'verbose' => \$verbose,
+ 'format=s' => \$format,
+ 'to=s' => \$to,
+ 'from=s' => \$from,
+ 'subject=s' => \$subject,
+ 'email' => \$email,
+ 'username:s' => \$username,
+ 'password:s' => \$password,
+ 'method:s' => \$method,
+
) or pod2usage(2);
pod2usage( -verbose => 2 ) if ($man);
pod2usage( -verbose => 2 ) if ($help and $verbose);
Message => encode('utf8', $message )
);
}
+ $mail{'Auth'} = {user => $username, pass => $password, method => $method} if $username;
sendmail(%mail) or carp 'mail not sent:' . $Mail::Sendmail::error;
} else {
print $message;