Commit f630337a authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 1246228 - Email addresses must not be encoded

r/a=dkl
parent 01ad7ac3
......@@ -19,8 +19,6 @@ use Bugzilla::Util;
use Date::Format qw(time2str);
use Encode qw(encode);
use Encode::MIME::Header;
use Email::Address;
use Email::MIME;
# Return::Value 1.666002 pollutes the error log with warnings about this
......@@ -71,22 +69,12 @@ sub MessageToMTA {
# MIME-Version must be set otherwise some mailsystems ignore the charset
$email->header_set('MIME-Version', '1.0') if !$email->header('MIME-Version');
# Encode the headers correctly in quoted-printable
# Encode the headers correctly.
foreach my $header ($email->header_names) {
my @values = $email->header($header);
# We don't recode headers that happen multiple times.
next if scalar(@values) > 1;
if (my $value = $values[0]) {
if (Bugzilla->params->{'utf8'} && !utf8::is_utf8($value)) {
utf8::decode($value);
}
# avoid excessive line wrapping done by Encode.
local $Encode::Encoding{'MIME-Q'}->{'bpl'} = 998;
map { utf8::decode($_) if defined($_) && !utf8::is_utf8($_) } @values;
my $encoded = encode('MIME-Q', $value);
$email->header_set($header, $encoded);
}
$email->header_str_set($header, @values);
}
my $from = $email->header('From');
......
......@@ -31,6 +31,7 @@ use Bugzilla::Token;
use Bugzilla::Keyword;
use Encode qw(encode find_encoding);
use Encode::MIME::Header; # Required to alter Encode::Encoding{'MIME-Q'}.
# For most scripts we don't make $cgi and $template global variables. But
# when preparing Bugzilla for mod_perl, this script used these
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment