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.