use strict;
use warnings;
use PublicInbox::Hval;
-use URI::Escape qw/uri_escape/;
+use URI::Escape qw/uri_escape_utf8/;
use Encode qw/find_encoding/;
use Encode::MIME::Header;
use Email::MIME::ContentType qw/parse_content_type/;
my $enc_mime = find_encoding('MIME-Header');
# public functions:
-sub as_html {
+sub msg_html {
my ($class, $mime, $full_pfx) = @_;
headers_to_html_header($mime, $full_pfx) .
'</pre></body></html>';
}
-sub as_feed_entry {
+sub feed_entry {
my ($class, $mime, $full_pfx) = @_;
- "<pre>" . multipart_text_as_html($mime, $full_pfx) . "</pre>";
+ '<pre>' . multipart_text_as_html($mime, $full_pfx) . '</pre>';
}
$to ||= $dst;
}
}
+ Email::Address->purge_cache;
my $subj = $mime->header('Subject') || '';
$subj = "Re: $subj" unless $subj =~ /\bRe:/;
- my $irp = uri_escape($mime->header_obj->header_raw('Message-ID') || '');
+ my $irp = uri_escape_utf8(
+ $mime->header_obj->header_raw('Message-ID') || '');
delete $cc{$to};
- $to = uri_escape($to);
+ $to = uri_escape_utf8($to);
+ $subj = uri_escape_utf8($subj);
- my $cc = uri_escape(join(',', values %cc));
+ my $cc = uri_escape_utf8(join(',', values %cc));
my $href = "mailto:$to?In-Reply-To=$irp&Cc=${cc}&Subject=$subj";
'<a href="' . ascii_html($href) . '">reply</a>';