NAME
    MT::Import::Mbox::Importer - wrapper class for importing a collection of
    mbox folders using MT::Import::Mbox.

SYNOPSIS
     use MT::Import::Config::Importer;

     my $mt = MT::Import::Mbox::Importer->new("/path/to/config");
     $mt->collect();

     # You can also do this :

     my $cfg = Config::Simple->new(...);
     my $mt = MT::Import::Mbox::Importer->new($cfg);
     $mt->collect();

DESCRIPTION
    This is a wrapper class for importing a collection of mbox folders into
    Movable Type using MT::Import::Mbox.

IMPORTANT
    You should really familiarize yourself with MT::Import::Mbox before
    going any further.

REALLY IMPORTANT
    This package relies on a very particular archiving pattern for email
    messages : Individual messages stored in a series of nested folders
    labeled by year (YYYY), month (MM) and day (DD).

    This is not a feature.

    It just happens to be the way that *I* store my email. If you want to
    buy me a beer sometime we can talk about why. The short version is that
    I wrote this package as a personal helper module for using
    *MT::Import::Mbox*.

    Aside from bug fixes the top of the TO DO list for this package is to
    provide a way for users to define a custom "match" criteria to identify
    mbox files. I am hoping to do this using Regexp::English so that custom
    patterns can be added to the config file. Forcing users to write their
    own callback functions is not an ideal solution.

    One problem with allowing custom matches is how this would work with
    date filtering, via the period option (see below). Checking the last
    modified time on inidividual mboxes is a possibility but error-prone, to
    say the least.

    Suggestions and patches are welcome.

OPTIONS
    Options are passed to MT::Import::Mbox::Importer using a Config::Simple
    object or a valid Config::Simple config file. Options are grouped by
    "block".

  importer
    * period
        String.

        This specifies a time-based limiting criteria for importing mboxes.
        The syntax is (n)(modifier) where (n) is a positive integer and
        (modifier) may be one of the following :

        * h Import mboxes that are younger than (n) hours.

        * d Import mboxes that are younger than (n) days.

        * w Import mboxes that are younger than (n) weeks.

        * M Import mboxes that are younger than (n) months.

    * verbose
        Boolean.

        Enable verbose logging for both this package and *MT::Import::Mbox*

    * force
        Boolean.

        Force a message to be reindexed, including any trackback pings and
        attachments. If an entry matching the message id already exists in
        the database it should only ever update or overwrite *existing*
        data.

        Default is *false*

  mbox
    * type
        String. *required*

        Used to build a regular expression for identifying mbox paths to
        import. Supported types are :

        * thunderbird
        * entourage
            Entourage support is still a bit funky because I am having
            trouble getting the mbox parser to DWIM with carriage returns.
            Buyer beware, patches welcome, etc.

    * root
        The path to your mail archive.

        String. *required*

  mt
    * root
        String. *required*

        The path to your Movable Type installation.

    * blog_id
        Int. *required*

        The numberic ID of the Movable Type weblog you are posting to.

    * blog_ownerid
        Int. *required*

        The numberic ID of a Movable Type author with permissions to add new
        authors to the Movable Type weblog you are posting to.

    * author_pass
        String.

        The password to assign to any new authors you add to the Movable
        Type weblog you are posting to.

        Default is "*none*".

    * author_perms
        Int.

        The permissions set to grant any new authors you add to the Movable
        Type weblog you are posting to.

        Default is *514*, or the ability to add new categories.

  email
    * personal
        String.

        A comma separated list of email addresses that are recognized to be
        "personal". When they are present in a message's *From* header the
        message will be categorized as 'Sent' rather than 'Received'.

OBJECT METHODS
  $obj->collect()
    Returns true or false.

  $obj->verbose($bool)
    Returns true or false, indicating whether or not *debug* events would be
    logged.

  $obj->log()
    Returns a *Log::Dispatch* object.

VERSION
    1.0

DATE
    $Date: 2005/12/02 05:28:38 $

AUTHOR
    Aaron Straup Cope <ascope@cpan.org>

SEE ALSO
    MT::Import::Mbox

BUGS
    Entirely possible. This package has not been tested on a Windows box.
    Please report all bugs via :

    <http://rt.cpan.org>

LICENSE
    Copyright (c) 2005 Aaron Straup Cope. All rights reserved.

    This is free software, you may use it and distribute it under the same
    terms as Perl itself.

