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 SEE ALSO MT::Import::Mbox BUGS Entirely possible. This package has not been tested on a Windows box. Please report all bugs via : 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.