aboutsummaryrefslogtreecommitdiffstats
path: root/main/rt4/0001-email-allow-envelope-from-overriding-from-templates.patch
blob: d82d58ab50662567a11988958f3e5ee4b80682e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Subject: [PATCH] email: allow envelope from overriding from templates

Add X-RT-Envelope-From header that will override the envelope
from if using sendmailpipe mail sending.

diff -ru rt-4.2.9.orig/lib/RT/Interface/Email.pm rt-4.2.9/lib/RT/Interface/Email.pm
--- rt-4.2.9.orig/lib/RT/Interface/Email.pm	2014-10-23 18:49:38.000000000 -0300
+++ rt-4.2.9/lib/RT/Interface/Email.pm	2014-10-31 08:14:48.557121324 -0200
@@ -370,6 +370,9 @@
     my $msgid = Encode::decode( "UTF-8", $args{'Entity'}->head->get('Message-ID') || '' );
     chomp $msgid;
     
+    my $envelope_from = $args{'Entity'}->head->get('X-RT-Envelope-From');
+    chomp $envelope_from;
+
     # If we don't have any recipients to send to, don't send a message;
     unless ( $args{'Entity'}->head->get('To')
         || $args{'Entity'}->head->get('Cc')
@@ -447,7 +450,8 @@
                 if ($QueueAddressOverride) {
                     $OutgoingMailAddress = $QueueAddressOverride;
                 } else {
-                    $OutgoingMailAddress ||= $Queue->CorrespondAddress
+                    $OutgoingMailAddress ||= $envelope_from
+			|| $Queue->CorrespondAddress
                         || RT->Config->Get('CorrespondAddress');
                 }
             }