set Sender: like From: to avoid Outlook drain bramage, RT#20825
authorIvan Kohler <ivan@freeside.biz>
Sun, 20 Jan 2013 01:05:43 +0000 (17:05 -0800)
committerIvan Kohler <ivan@freeside.biz>
Sun, 20 Jan 2013 01:05:43 +0000 (17:05 -0800)
rt/lib/RT/Action/SendEmail.pm

index 2a7a2e3..1e6607e 100755 (executable)
@@ -871,21 +871,25 @@ sub SetFrom {
     my $self = shift;
     my %args = @_;
 
+    my $from = $args{From};
+
     if ( RT->Config->Get('UseFriendlyFromLine') ) {
         my $friendly_name = $self->GetFriendlyName(%args);
-        $self->SetHeader(
-            'From',
+        $from = 
             sprintf(
                 RT->Config->Get('FriendlyFromLineFormat'),
                 $self->MIMEEncodeString(
                     $friendly_name, RT->Config->Get('EmailOutputEncoding')
                 ),
                 $args{From}
-            ),
-        );
-    } else {
-        $self->SetHeader( 'From', $args{From} );
+            );
     }
+
+    $self->SetHeader( 'From', $from );
+
+    #also set Sender:, otherwise MTAs add a nonsensical value like rt@machine,
+    #and then Outlook prepends "rt@machine on behalf of" to the From: header
+    $self->SetHeader( 'Sender', $from );
 }
 
 =head2 GetFriendlyName