X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FMIME.pm;h=b795b93b1054e93a43831e12b72d9683e63f99db;hb=8d1b87f498ea47bb752ea24900372df192d322fb;hp=792fffd606116b83e40867ca18d874533e91ef10;hpb=3fc59df0d633a17e0c5e43d633d12e8772c06ec3;p=public-inbox.git diff --git a/lib/PublicInbox/MIME.pm b/lib/PublicInbox/MIME.pm index 792fffd6..b795b93b 100644 --- a/lib/PublicInbox/MIME.pm +++ b/lib/PublicInbox/MIME.pm @@ -23,6 +23,9 @@ package PublicInbox::MIME; use strict; use warnings; use base qw(Email::MIME); +use Email::MIME::ContentType; +use PublicInbox::MsgIter (); +$Email::MIME::ContentType::STRICT_PARAMS = 0; if ($Email::MIME::VERSION <= 1.937) { sub parts_multipart { @@ -37,7 +40,7 @@ sub parts_multipart { return $self->parts_single_part unless $boundary and $self->body_raw =~ /^--\Q$boundary\E\s*$/sm; - $self->{body_raw} = $self->SUPER::body; + $self->{body_raw} = Email::Simple::body($self); # rfc1521 7.2.1 my ($body, $epilogue) = split /^--\Q$boundary\E--\s*$/sm, $self->body_raw, 2; @@ -45,13 +48,13 @@ sub parts_multipart { # Split on boundaries, but keep blank lines after them intact my @bits = split /^--\Q$boundary\E\s*?(?=$self->{mycrlf})/m, ($body || ''); - $self->SUPER::body_set(undef); + Email::Simple::body_set($self, undef); # If there are no headers in the potential MIME part, it's just part of the # body. This is a horrible hack, although it's debatable whether it was # better or worse when it was $self->{body} = shift @bits ... -- rjbs, # 2006-11-27 - $self->SUPER::body_set(shift @bits) if ($bits[0] || '') !~ /.*:.*/; + Email::Simple::body_set($self, shift @bits) if ($bits[0] || '') !~ /.*:.*/; my $bits = @bits; @@ -99,4 +102,6 @@ sub parts_multipart { } } +no warnings 'once'; +*each_part = \&PublicInbox::MsgIter::em_each_part; 1;