From 9515db57bdd13cdff33d9056963455fb850ad877 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Thu, 5 Nov 2015 08:45:25 +0100 Subject: [PATCH] Bug 15133: encode correctly email generated by runreport.pl MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit /misc/cronjobs/runreport.pl send badly encoded email in text/csv (partially ok in HTML). TEST: 1. Send by email a report containing a subject with accented characters and resultset with accented characters. For example: ./runreport.pl --subject="éèà" --to=me@home.org 1 ./runreport.pl --format=html --subject="éèà" --to=me@home.org 1 The first email contains badly encoded subject & message. The second email contains badly encoded subject, but correct message. 2. Apply the patch 3. Repeat 1 => No more strange characters. Signed-off-by: Liz Rea Characters are correctly encoded now, thanks for that good spot. Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- misc/cronjobs/runreport.pl | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/misc/cronjobs/runreport.pl b/misc/cronjobs/runreport.pl index 6b25908ca5..9afec7e772 100755 --- a/misc/cronjobs/runreport.pl +++ b/misc/cronjobs/runreport.pl @@ -273,27 +273,14 @@ foreach my $report_id (@ARGV) { } } if ($email){ - my $email = Koha::Email->new(); - my %mail; + my $args = { to => $to, from => $from, subject => $subject }; if ($format eq 'html') { - $message = "$message"; - %mail = $email->create_message_headers({ - to => $to, - from => $from, - contenttype => 'text/html', - subject => encode('utf8', $subject ), - message => encode('utf8', $message ) - } - ); - } else { - %mail = $email->create_message_headers ({ - to => $to, - from => $from, - subject => encode('utf8', $subject ), - message => encode('utf8', $message ) - } - ); + $message = "$message"; + $args->{contenttype} = 'text/html'; } + $args->{message} = $message; + my $email = Koha::Email->new(); + my %mail = $email->create_message_headers($args); $mail{'Auth'} = {user => $username, pass => $password, method => $method} if $username; sendmail(%mail) or carp 'mail not sent:' . $Mail::Sendmail::error; } else { -- 2.39.5