From 80a981ff66f9ae4b559c62d6870ec5fd941f590d Mon Sep 17 00:00:00 2001 From: Ulrich Kleiber Date: Wed, 5 Feb 2020 11:04:20 +0100 Subject: [PATCH] Bug 24588: Prevent e-mails from Koha to be flagged as spam Set the e-mail headers Mailer-X and MessageID by Koha, to gain a better positive score from the spam filter. To test: 1) Let Koha send an e-mail message. 2) Check the header of this e-mail message with your e-mail client. There should be no X-Mailer header with value 'Koha'. If there is an MessageID header, it is probably set by the MSA, e.g. Exim. Example: Message-Id: 3) Apply patch. 4) Repeat step 1. 5) Check the header of the new e-mail message with your e-mail client. There should be a X-Mailer header with value 'Koha' and a MessageID header with a value set by Koha. Example: X-Mailer: Koha Message-Id: <15807387030.B731e.18490@FQDN> 6) Sign off. Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart --- Koha/Email.pm | 3 +++ cpanfile | 1 + 2 files changed, 4 insertions(+) diff --git a/Koha/Email.pm b/Koha/Email.pm index 58340756e8..d0c2adea74 100644 --- a/Koha/Email.pm +++ b/Koha/Email.pm @@ -19,6 +19,7 @@ package Koha::Email; use Modern::Perl; use Email::Valid; +use Email::MessageID; use base qw(Class::Accessor); use C4::Context; @@ -70,6 +71,8 @@ sub create_message_headers { $mail{'Message'} = $params->{message} if $params->{message}; $mail{'Subject'} = $params->{subject} if $params->{subject}; $mail{'Content-Type'} = $params->{contenttype} if $params->{contenttype}; + $mail{'X-Mailer'} = "Koha"; + $mail{'Message-ID'} = Email::MessageID->new->in_brackets; return %mail; } 1; diff --git a/cpanfile b/cpanfile index 38a7a4fbe2..4837e7b2b3 100644 --- a/cpanfile +++ b/cpanfile @@ -36,6 +36,7 @@ requires 'DateTime::TimeZone', '1.20'; requires 'Digest::MD5', '2.36'; requires 'Digest::SHA', '5.43'; requires 'Email::Date', '1.103'; +requires 'Email::MessageID', '1.406'; requires 'Email::Valid', '0.190'; requires 'Exception::Class', '1.38'; requires 'File::Slurp', '9999.13'; -- 2.11.0