From ef8a0e7da2c637f03d9756cfeadc6e27a2da2e17 Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@biblibre.com> Date: Thu, 14 Nov 2013 12:17:38 +0100 Subject: [PATCH] Bug 10605: Encoding issue on sending a basket (OPAC) There is an encoding issue on the received mail. Here, we have to keep the encode_qp in order not to break links (= is a special char for email https://en.wikipedia.org/wiki/MIME#Encoded-Word). Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> --- opac/opac-sendbasket.pl | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/opac/opac-sendbasket.pl b/opac/opac-sendbasket.pl index da74745..ca3a973 100755 --- a/opac/opac-sendbasket.pl +++ b/opac/opac-sendbasket.pl @@ -127,25 +127,33 @@ if ( $email_add ) { my $body; # Analysing information and getting mail properties - if ( $template_res =~ /<SUBJECT>\n(.*)\n?<END_SUBJECT>/s ) { - $mail{'subject'} = $1; + + if ( $template_res =~ /<SUBJECT>(.*)<END_SUBJECT>/s ) { + $mail{subject} = $1; + $mail{subject} =~ s|\n?(.*)\n?|$1|; } else { $mail{'subject'} = "no subject"; } my $email_header = ""; - if ( $template_res =~ /<HEADER>\n(.*)\n?<END_HEADER>/s ) { - $email_header = encode_qp($1); + if ( $template_res =~ /<HEADER>(.*)<END_HEADER>/s ) { + $email_header = $1; + $email_header =~ s|\n?(.*)\n?|$1|; } my $email_file = "basket.txt"; - if ( $template_res =~ /<FILENAME>\n(.*)\n?<END_FILENAME>/s ) { + if ( $template_res =~ /<FILENAME>(.*)<END_FILENAME>/s ) { $email_file = $1; + $email_file =~ s|\n?(.*)\n?|$1|; } - if ( $template_res =~ /<MESSAGE>\n(.*)\n?<END_MESSAGE>/s ) { - $body = encode_qp($1); + if ( $template_res =~ /<MESSAGE>(.*)<END_MESSAGE>/s ) { + $body = $1; + $body =~ s|\n?(.*)\n?|$1|; + $body = encode("UTF-8", encode_qp($body)); } + $mail{body} = $body; + my $boundary = "====" . time() . "===="; $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; -- 1.7.10.4