LP1532236 Evergreen should allow for HTML formatted action trigger emails
authorblake <blake@mobiusconsortium.org>
Fri, 8 Jan 2016 15:41:49 +0000 (09:41 -0600)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 8 Jan 2016 19:04:31 +0000 (14:04 -0500)
Simple fix for allowing the AT template to drive the email headers instead
of replacing the headers blindly. Kudos to tsbere for the unless idea.

Testing: setup an action trigger for SendEmail. Make sure your AT template includes
an email header (EG: Content-Type: text/html;charset=utf-8)
Setup a hold/circulation that meets the criteria of your action trigger. Check the
resuting email's headers to match what you had put into the template.

Signed-off-by: blake <blake@mobiusconsortium.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/SendEmail.pm

index 5cf08c3..723733a 100644 (file)
@@ -54,9 +54,9 @@ sub handler {
     my $err;
 
     my $email = Email::Simple->new($text);
-    $email->header_set('MIME-Version' => '1.0');
-    $email->header_set('Content-Type' => "text/plain; charset=UTF-8");
-    $email->header_set('Content-Transfer-Encoding' => '8bit');
+    $email->header_set('MIME-Version' => '1.0') unless $email->header('MIME-Version');
+    $email->header_set('Content-Type' => "text/plain; charset=UTF-8") unless $email->header('Content-Type');
+    $email->header_set('Content-Transfer-Encoding' => '8bit') unless $email->header('Content-Transfer-Encoding');
 
     try {
         $stat = $sender->send($email);