]> git.proxmox.com Git - pmg-api.git/blobdiff - src/PMG/RuleDB/BCC.pm
dkim: add QID in warnings
[pmg-api.git] / src / PMG / RuleDB / BCC.pm
index 4867d83892e234114f2cfcf41f4449b4854a071b..81301cfd0abeeae51c1420946cc04b5bece8748e 100644 (file)
@@ -3,6 +3,7 @@ package PMG::RuleDB::BCC;
 use strict;
 use warnings;
 use DBI;
+use Encode qw(encode);
 
 use PVE::SafeSyslog;
 
@@ -115,7 +116,7 @@ sub execute {
 
     my $subgroups = $mod_group->subgroups($targets, 1);
 
-    my $rulename = $vars->{RULE} // 'unknown';
+    my $rulename = encode('UTF-8', $vars->{RULE} // 'unknown');
 
     my $bcc_to = PMG::Utils::subst_values_for_header($self->{target}, $vars);
 
@@ -141,11 +142,14 @@ sub execute {
        my $dkim = $msginfo->{dkim} // {};
        if ($dkim->{sign}) {
            eval {
-               $entity = PMG::DKIMSign::sign_entity($entity,
-                   $dkim->{selector}, $msginfo->{sender}, $dkim->{sign_all});
+               $entity = PMG::DKIMSign::sign_entity($entity, $dkim, $msginfo->{sender});
            };
-           syslog('warning',
-               "Could not create DKIM-Signature - disabling Signing: $@") if $@;
+           if ($@) {
+               syslog('warning',
+                   "%s: Could not create DKIM-Signature - disabling Signing: $@",
+                   $queue->{logid}
+               );
+           }
        }
 
        if ($msginfo->{testmode}) {
@@ -164,10 +168,24 @@ sub execute {
                $entity, $msginfo->{sender}, \@bcc_targets,
                $msginfo->{xforward}, $msginfo->{fqdn}, $param);
            foreach (@bcc_targets) {
+               my $target = encode('UTF-8', $_);
                if ($qid) {
-                   syslog('info', "%s: bcc to <%s> (rule: %s, %s)", $queue->{logid}, $_, $rulename, $qid);
+                   syslog(
+                       'info',
+                       "%s: bcc to <%s> (rule: %s, %s)",
+                       $queue->{logid},
+                       $target,
+                       $rulename,
+                       $qid,
+                   );
                } else {
-                   syslog('err', "%s: bcc to <%s> (rule: %s) failed", $queue->{logid}, $_, $rulename);
+                   syslog(
+                       'err',
+                       "%s: bcc to <%s> (rule: %s) failed",
+                       $queue->{logid},
+                       $target,
+                       $rulename,
+                   );
                }
            }
        }