From cf8399e7e57b8d36e61f660b15695f6104060ebe Mon Sep 17 00:00:00 2001
From: Andrew Ruthven <puck@catalystcloud.nz>
Date: Mon, 27 Jun 2022 21:44:42 +1200
Subject: [PATCH] Make the subject templatable

---
 merge.pl | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/merge.pl b/merge.pl
index 75357cf..f7555d6 100755
--- a/merge.pl
+++ b/merge.pl
@@ -163,6 +163,15 @@ sub merge_message {
   }
 
   # Do the merge.
+  my $subject;
+  if (! $tt->process(\$tmplData->{'subject'}, $cols, \$subject)) {
+    warn "Failed to process template: " . $tt->error();
+    warn "Template: $tmplData->{'subject'}\n"
+      if $verbose;
+
+    next;
+  }
+
   my $out;
   if (! $tt->process(\$tmplData->{'body'}, $cols, \$out)) {
     warn "Failed to process template: " . $tt->error();
@@ -192,7 +201,7 @@ sub merge_message {
   }
 
   if ($verbose) {
-    print "Subject: $tmplData->{'subject'}\n";
+    print "Subject: $subject\n";
     print "From: $tmplData->{'from'}\n";
     print "Attachment: $file_to_attach\n" if defined $file_to_attach;
     print $out;
@@ -228,7 +237,7 @@ sub merge_message {
     my $mail = MIME::Entity->build(
        To        => \@emails,
        From      => $tmplData->{'from'},
-       Subject   => $tmplData->{'subject'},
+       Subject   => $subject,
        Bcc       => $tmplData->{'bcc'},
        Cc        => $tmplData->{'bc'},
        'Reply-To' => $tmplData->{'reply_to'},
-- 
2.30.2