From 74ca0308be9bab946eb2584943ab57c15f96023c Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Tue, 25 Feb 2020 09:05:18 +0000
Subject: [PATCH] Bug 22821: Use 'reply-to' address in issue notes

This patch updates the issue notices to not pass from_address and so
default to the branch email of the user for from_address. We now pass
the patrons email (cascading through email, emailpro, B_email) into the
reply_address field so mail servers are less likely to report emails as
spam and mail clients still have access to the patron address via the
reply-to header when staff want to hit 'reply' and have the email go to
the user.
---
 C4/Letters.pm           | 2 +-
 opac/opac-issue-note.pl | 4 ++--
 opac/svc/checkout_notes | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/C4/Letters.pm b/C4/Letters.pm
index 0233ef52f4..6e47ce9401 100644
--- a/C4/Letters.pm
+++ b/C4/Letters.pm
@@ -1314,7 +1314,7 @@ sub _send_message_by_email {
                 : ()
             ),
             from    => $message->{'from_address'} || $branch_email,
-            replyto => $branch_replyto,
+            replyto => $message->{'reply_address'} || $branch_replyto,
             sender  => $branch_returnpath,
             subject => $subject,
             message => $is_html ? _wrap_html( $content, $subject ) : $content,
diff --git a/opac/opac-issue-note.pl b/opac/opac-issue-note.pl
index f61b33cd8f..64f07fefbd 100755
--- a/opac/opac-issue-note.pl
+++ b/opac/opac-issue-note.pl
@@ -82,14 +82,14 @@ if ( $action eq 'issuenote' && C4::Context->preference('AllowCheckoutNotes') ) {
             );
 
             my $to_address = $branch->branchemail || $branch->branchreplyto || C4::Context->ReplytoDefault || C4::Context->preference('KohaAdminEmailAddress');
-            my $from_address = $patron->email || $patron->emailpro || $patron->B_email;
+            my $reply_address = $patron->email || $patron->emailpro || $patron->B_email;
 
             C4::Letters::EnqueueLetter({
                 letter => $letter,
                 message_transport_type => 'email',
                 borrowernumber => $patron->borrowernumber,
                 to_address => $to_address,
-                from_address => $from_address,
+                reply_address => $reply_address,
             });
         }
     }
diff --git a/opac/svc/checkout_notes b/opac/svc/checkout_notes
index a5682c8ceb..60b4d00bca 100755
--- a/opac/svc/checkout_notes
+++ b/opac/svc/checkout_notes
@@ -92,14 +92,14 @@ if ($is_ajax) {
                 );
 
                 my $to_address = $branch->branchemail || $branch->branchreplyto || C4::Context->preference('ReplytoDefault') || C4::Context->preference('KohaAdminEmailAddress');
-                my $from_address = $patron->email || $patron->emailpro || $patron->B_email;
+                my $reply_address = $patron->email || $patron->emailpro || $patron->B_email;
 
                 C4::Letters::EnqueueLetter({
                     letter => $letter,
                     message_transport_type => 'email',
                     borrowernumber => $patron->borrowernumber,
                     to_address => $to_address,
-                    from_address => $from_address,
+                    reply_address => $reply_address,
                 });
             } else { # note empty, i.e removed
                 $status = "removed";
-- 
2.20.1