$parser = MIME::Parser->new( ); $parser->ignore_errors(1); $parser->extract_uuencode(1); $parser->extract_nested_messages(1); $parser->output_to_core(1); # don't write attachments to disk my $tmpMessage = $parser->parse_data($body); my $tmp_num_parts = $tmpMessage->parts; for (my $ii=0; $ii < $tmp_num_parts; $ii++) { my $tmp_part = $tmpMessage->parts($i); my $tmp_content_type = $tmp_part->mime_type; my $tmp_body = $tmp_part->as_string; #### if ($tmp_body =~ /Content-Transfer-Encoding: base64/i) { $MessageBody = " ". $tmp_part->bodyhandle->as_string; } #### if ($tmp_body =~ /Content-Transfer-Encoding: base64/i) { $MessageBody = " ". decode('UTF-8',decode_base64($tmp_part->bodyhandle->as_string)); }