Commit 60299ec5 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 1246228 - Email addresses must not be encoded

r=dkl
parent 6c14face
...@@ -12,8 +12,6 @@ use warnings; ...@@ -12,8 +12,6 @@ use warnings;
use 5.14.0; use 5.14.0;
use parent qw(Email::MIME); use parent qw(Email::MIME);
use Encode qw(encode);
sub new { sub new {
my ($class, $msg) = @_; my ($class, $msg) = @_;
...@@ -78,17 +76,9 @@ sub as_string { ...@@ -78,17 +76,9 @@ sub as_string {
# Encode the headers correctly in quoted-printable # Encode the headers correctly in quoted-printable
foreach my $header ($self->header_names) { foreach my $header ($self->header_names) {
my @values = $self->header($header); my @values = $self->header($header);
# We don't recode headers that happen multiple times. map { utf8::decode($_) if defined($_) && !utf8::is_utf8($_) } @values;
next if scalar(@values) > 1;
if (my $value = $values[0]) {
utf8::decode($value) unless utf8::is_utf8($value);
# avoid excessive line wrapping done by Encode.
local $Encode::Encoding{'MIME-Q'}->{'bpl'} = 998;
my $encoded = encode('MIME-Q', $value); $self->header_str_set($header, @values);
$self->header_set($header, $encoded);
}
} }
# Ensure the character-set and encoding is set correctly on single part # Ensure the character-set and encoding is set correctly on single part
......
...@@ -23,8 +23,6 @@ use Bugzilla::Util; ...@@ -23,8 +23,6 @@ use Bugzilla::Util;
use Date::Format qw(time2str); use Date::Format qw(time2str);
use Encode qw(encode);
use Encode::MIME::Header;
use Email::Sender::Simple qw(sendmail); use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP::Persistent; use Email::Sender::Transport::SMTP::Persistent;
use Bugzilla::Sender::Transport::Sendmail; use Bugzilla::Sender::Transport::Sendmail;
......
...@@ -26,6 +26,7 @@ use Bugzilla::Attachment::PatchReader; ...@@ -26,6 +26,7 @@ use Bugzilla::Attachment::PatchReader;
use Bugzilla::Token; use Bugzilla::Token;
use Encode qw(encode find_encoding); use Encode qw(encode find_encoding);
use Encode::MIME::Header; # Required to alter Encode::Encoding{'MIME-Q'}.
use Cwd qw(realpath); use Cwd qw(realpath);
# For most scripts we don't make $cgi and $template global variables. But # For most scripts we don't make $cgi and $template global variables. But
......
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