1 package OpenILS::Application::Trigger::Reactor::StaticEmail;
3 use OpenSRF::Utils::SettingsClient;
4 use OpenILS::Application::Trigger::Reactor;
5 use OpenSRF::Utils::Logger qw/:level/;
7 use base 'OpenILS::Application::Trigger::Reactor';
9 my $log = 'OpenSRF::Utils::Logger';
11 my $default_template = <<TT;
12 To: [%- env.params.recipient -%]
13 From: [%- env.params.sender -%]
14 Subject: [%- env.params.subject -%]
23 my $conf = OpenSRF::Utils::SettingsClient->new;
24 my $smtp = $conf->config_value('email_notify', 'smtp_server');
25 $$env{params}{sender} ||= $conf->config_value('email_notify', 'sender_address');
26 $$env{params}{subject} ||= 'Test subject -- StaticEmail Reactor';
27 $$env{params}{body} ||= 'Test body -- StaticEmail Reactor';
29 $$env{params}{recipient} or return 0;
31 $logger->info("StaticEmail Reactor: sending email to ".
32 $$env{params}{recipient}." via SMTP server $smtp");
34 my $sender = Email::Send->new({mailer => 'SMTP'});
35 $sender->mailer_args([Host => $smtp]);
37 my $TT = $$env{template} || $default_template;
38 my $text = ''; # XXX TemplateToolkit stuff goes here...
44 $stat = $sender->send($text);
47 $logger->error("StaticEmail Reactor: Email failed with error: $err");
50 if( !$err and $stat and $stat->type eq 'success' ) {
51 $logger->info("StaticEmail Reactor: successfully sent email");
54 $logger->warn("StaticEmail Reactor: unable to send email: ".Dumper($stat));