Sisimai::MIME - MIME Utilities
use Sisimai::MIME;
my $e = '=?utf-8?B?55m954yr44Gr44KD44KT44GT?=';
my $v = Sisimai::MIME->is_mimeencoded(\$e);
print $v; # 1
my $x = Sisimai::MIME->mimedecode([$e]);
print $x;
Sisimai::MIME is MIME Utilities for "Sisimai".
"is_mimeencoded()" returns that the argument
is MIME-Encoded string or not.
my $e = '=?utf-8?B?55m954yr44Gr44KD44KT44GT?=';
my $v = Sisimai::MIME->is_mimeencoded(\$e); # 1
"mimedecode()" is a decoder method for getting
the original string from MIME Encoded string in email headers.
my $r = '=?utf-8?B?55m954yr44Gr44KD44KT44GT?=';
my $v = Sisimai::MIME->mimedecode([$r]);
"base64d" is a decoder method for getting the
original string from MIME Base564 encoded string.
my $r = '44Gr44KD44O844KT';
my $v = Sisimai::MIME->base64d(\$r);
"qprintd" is a decoder method for getting the
original string from MIME Quoted- printable encoded string.
my $r = '=4e=65=6b=6f';
my $v = Sisimai::MIME->qprintd(\$r);
"boundary()" returns a boundary string from
the value of Content-Type header.
my $r = 'Content-Type: multipart/mixed; boundary=Apple-Mail-1-526612466';
my $v = Sisimai::MIME->boundary($r);
print $v; # Apple-Mail-1-526612466
print Sisimai::MIME->boundary($r, 0); # --Apple-Mail-1-526612466
print Sisimai::MIME->boundary($r, 1); # --Apple-Mail-1-526612466--
"breaksup" is a multipart/* message decoder:
Decode quoted-printable, base64, and other encoded message part, leave only
text/plain, message/*, text/html (only in multipart/alternative), returns
string as a reference. This method is called from makeflat() and
breaksup() itself.
"makeflat" makes flat multipart/* message: it
leaves only text/html, message/*, and text/html (Content-Type of upper part is
not multipart/alternative) part. In other words, this method remove parts
which is not needed to parse bounce message such as image/*, text/html inside
of multipart/alternative.
my $r = 'multipart/report; ...'; # Content-Type: MIME type, boundary
my $b = '...'; # Multipart message body
my $v = Sisimai::MIME->makeflat($r, \$b); # Returns scalar reference
print $$v; # Flatten message body
Copyright (C) 2014-2016,2018-2020 azumakuniyuki, All rights reserved.
This software is distributed under The BSD 2-Clause License.