aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Miller <justdave@bugzilla.org>2024-08-29 07:04:15 -0400
committerDave Miller <github@justdave.net>2024-09-03 11:41:55 -0400
commit66db7a430586474f8a68007ac07546f49e9ab4df (patch)
tree86eed5ed0755d504ff1935d686271a6206010e30
parent430a93b7c4df3aadfa2262ef9b8bcc8e77f0eca8 (diff)
downloadbugs-66db7a430586474f8a68007ac07546f49e9ab4df.tar
bugs-66db7a430586474f8a68007ac07546f49e9ab4df.tar.gz
bugs-66db7a430586474f8a68007ac07546f49e9ab4df.tar.bz2
bugs-66db7a430586474f8a68007ac07546f49e9ab4df.tar.xz
bugs-66db7a430586474f8a68007ac07546f49e9ab4df.zip
Bug 1880288: Noncharacters in comments cause bugmail sending to fail
Co-authored-by: Frédéric Buclin <LpSolit@gmail.com>
-rw-r--r--Bugzilla/BugMail.pm3
-rw-r--r--Bugzilla/MIME.pm6
-rw-r--r--Bugzilla/Mailer.pm3
3 files changed, 9 insertions, 3 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index fdcbc9d5a..1aff405d8 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -21,6 +21,7 @@ use Bugzilla::Mailer;
use Bugzilla::Hook;
use Bugzilla::MIME;
+use Encode qw();
use Date::Parse;
use Date::Format;
use Scalar::Util qw(blessed);
@@ -451,6 +452,7 @@ sub _generate_bugmail {
encoding => 'quoted-printable',
},
body_str => $msg_text,
+ encode_check => Encode::FB_DEFAULT
)
);
if ($user->setting('email_format') eq 'html') {
@@ -463,6 +465,7 @@ sub _generate_bugmail {
encoding => 'quoted-printable',
},
body_str => $msg_html,
+ encode_check => Encode::FB_DEFAULT
);
}
diff --git a/Bugzilla/MIME.pm b/Bugzilla/MIME.pm
index 8c6c141bb..d6046198f 100644
--- a/Bugzilla/MIME.pm
+++ b/Bugzilla/MIME.pm
@@ -14,7 +14,7 @@ use warnings;
use parent qw(Email::MIME);
sub new {
- my ($class, $msg) = @_;
+ my ($class, $msg, $args) = @_;
state $use_utf8 = Bugzilla->params->{'utf8'};
# Template-Toolkit trims trailing newlines, which is problematic when
@@ -54,7 +54,7 @@ sub new {
# you're running on. See http://perldoc.perl.org/perlport.html#Newlines
$msg =~ s/(?:\015+)?\012/\015\012/msg;
- return $class->SUPER::new($msg);
+ return $class->SUPER::new($msg, $args);
}
sub as_string {
@@ -113,7 +113,7 @@ workarounds.
=head1 SYNOPSIS
use Bugzilla::MIME;
- my $email = Bugzilla::MIME->new($message);
+ my $email = Bugzilla::MIME->new($message, $args);
=head1 DESCRIPTION
diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm
index 5ccf2d1ed..d7c23f857 100644
--- a/Bugzilla/Mailer.pm
+++ b/Bugzilla/Mailer.pm
@@ -21,6 +21,7 @@ use Bugzilla::MIME;
use Bugzilla::Util;
use Bugzilla::User;
+use Encode qw();
use Date::Format qw(time2str);
use Email::Sender::Simple qw(sendmail);
@@ -61,6 +62,7 @@ sub generate_email {
encoding => 'quoted-printable',
},
body_str => $msg_text,
+ encode_check => Encode::FB_DEFAULT
)
);
if ($templates->{html} && $email_format eq 'html') {
@@ -73,6 +75,7 @@ sub generate_email {
encoding => 'quoted-printable',
},
body_str => $msg_html,
+ encode_check => Encode::FB_DEFAULT
);
}