NAME
    Email::MIME::Creator - Email::MIME constructor for starting anew.

SYNOPSIS
      use Email::MIME;
      use Email::MIME::Creator;
      use IO::All;

      # multipart message
      my @parts = (
          Email::MIME->create(
              attributes => {
                  filename     => "report.pdf",
                  content_type => "application/pdf",
                  encoding     => "quoted-printable",
                  name         => "2004-financials.pdf",
              },
              body => io( "2004-financials.pdf" )->slurp,
          ),
          Email::MIME->create(
              attributes => {
                  content_type => "text/plain",
                  disposition  => "attachment",
                  charset      => "US-ASCII",
              },
              body => "Hello there!",
          ),
      );

      my $email = Email::MIME->create(
          header => [ From => 'casey@geeknest.com' ],
          parts  => [ @parts ],
      );

      # nesting parts
      $email->parts_set(
          [
            $email->parts,
            Email::MIME->create( parts => [ @parts ] ),
          ],
      );
  
      # standard modifications
      $email->header_set( 'X-PoweredBy' => 'RT v3.0'      );
      $email->header_set( To            => rcpts()        );
      $email->header_set( Cc            => aux_rcpts()    );
      $email->header_set( Bcc           => sekrit_rcpts() );

      # more advanced
      $_->encoding_set( 'base64' ) for $email->parts;
  
      print $email->as_string;
  
      *rcpts = *aux_rcpts = *sekrit_rcpts = sub { 'you@example.com' };

DESCRIPTION
  Methods
    create
           my $single = Email::MIME->create(
             headers    => [ ... ],
             attributes => { ... },
             body       => '...',
           );
  
           my $multi = Email::MIME->create(
             headers    => [ ... ],
             attributes => { ... },
             parts      => [ ... ],
           );

         This method creates a new MIME part. The "header" parameter is a
         lis of headers to include in the message. "attributes" is a hash of
         MIME attributes to assign to the part, and may override portions of
         the header set in the "header" parameter.

         The "parts" parameter is a list reference containing "Email::MIME"
         objects. "parts" takes precedence over "body", which will set this
         part's body if assigned. So, multi part messages shold use the
         "parts" parameter and single part messages should use "body".

         Back to "attributes". The hash keys correspond directly to methods
         or modifying a message from "Email::MIME::Modifier". The allowed
         keys are: content_type, charset, name, format, boundary, encoding,
         disposition, and filename. They will be mapped to "$attr\_set" for
         message modification.

SEE ALSO
    Email::MIME, Email::MIME::Modifier, Email::Simple::Creator, perl.

AUTHOR
    Casey West, <casey@geeknest.com>.

COPYRIGHT
      Copyright (c) 2004 Casey West.  All rights reserved.
      This module is free software; you can redistribute it and/or modify it
      under the same terms as Perl itself.

