MIME::Explode - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME SYNOPSIS DESCRIPTION METHODS AUTHOR CREDITS SEE ALSO
NAME
    MIME::Explode - Perl extension for explode MIME messages

SYNOPSIS
      use MIME::Explode;

      my $explode = MIME::Explode->new(
        output_dir         => "tmp",
        mkdir              => 0755,
        decode_subject     => 1,
        check_content_type => 1,
        content_types      => ["image/gif", "image/jpeg", "image/bmp"],
        types_action       => "exclude"
      );

      print "Number of messages: ", $explode->nmsgs, "\n";

      open(MAIL, "<file.mbox") or
            die("Couldn't open file.mbox for reading: $!\n");
      open(OUTPUT, ">file.tmp")
            or die("Couldn't open file.tmp for writing: $!\n");
      my $headers = $explode->parse(\*MAIL, \*OUTPUT);
      close(OUTPUT);
      close(MAIL);

      for my $part (sort{ $a cmp $b } keys(%{$headers})) {
        for my $k (keys(%{$headers->{$part}})) {
          if(ref($headers->{$part}->{$k}) eq "ARRAY") {
            for my $i (0 .. $#{$headers->{$part}->{$k}}) {
              print "$part => $k => $i => ", $headers->{$part}->{$k}->[$i], "\n";
            }
          } elsif(ref($headers->{$part}->{$k}) eq "HASH") {
            for my $ks (keys(%{$headers->{$part}->{$k}})) {
              if(ref($headers->{$part}->{$k}->{$ks}) eq "ARRAY") {
                print "$part => $k => $ks => ", join(($ks eq "charset") ? " " : "", @{$headers->{$part}->{$k}->{$ks}}), "\n";
              } else {
                print "$part => $k => $ks => ", $headers->{$part}->{$k}->{$ks}, "\n";
              }
              print "$part => $k => $ks => ", $headers->{$part}->{$k}->{$ks}, "\n";
            }
          } else {
            print "$part => $k => ", $headers->{$part}->{$k}, "\n";
          }
        }
      }

      if(my $e = $explode->clean_all()) {
        print "Error: $e\n";
      }

DESCRIPTION
    MIME::Explode is perl module for parsing and decoding single or
    multipart MIME messages, and outputting its decoded components to a
    given directory ie, this module is designed to allows users to extract
    the attached files out of a MIME encoded email messages or mailboxes.

METHODS
  new([, OPTION ...])
    This method create a new MIME::Explode object. The following keys are
    available:

    output_dir
           Directory where the decoded files are placed

    mkdir => octal_number
           If the value is set to octal number then make the output_dir
           directory (example: mkdir => 0755).

    check_content_type => 0 or 1
           If the value is set to 1 the content-type of file is checked

    decode_subject => 0 or 1
           If the value is set to 1 then the subject is decoded into a list.

             $header->{'0.0'}->{subject}->{value} = [ARRAYREF];
             $header->{'0.0'}->{subject}->{charset} = [ARRAYREF];
             $subject = join("", @{$header->{'0.0'}->{subject}->{value}});

    exclude_types => [ARRAYREF]
           Not save files with specified content types (deprecated in next
           versions)

    content_types => [ARRAYREF]
           Array reference with content types for "include" or "exclude"

    types_action => "include" or "exclude"
           If the action is a "include", all attached files with specified
           content types are saved but if the action is a "exclude", no
           files are saved except if its in the array of content types. If
           no array is specified, but the action is a "include", all
           attached files are saved, otherwise all files are removed if
           action is a "exclude". The default action is "include".

  parse(FILEHANDLE, FILEHANDLE)
    This method parse the stream and splits it into its component entities.
    This method return a hash reference with all parts. The FILEHANDLE
    should be a reference to a GLOB. The second argument is optional.

  nmsgs
    Returns the number of parsed messages.

  clean_all
    Cleans all files from the "output_dir" directory and then removes the
    directory. If an error happens returns it.

AUTHOR
    Henrique Dias <henrique.ribeiro.dias AT gmail.com>

CREDITS
    Thanks to Rui Castro for the revision.

SEE ALSO
    MIME::Tools, perl(1).


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 08:41 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top