NAME
Email::LocalDelivery::Store - deliver mail via Email::Store
SYNOPSIS
use Email::LocalDelivery;
use Email::FolderType::Register qw[register_type];
register_type Store => sub { $_[0] =~ m/^DBI/i };
...
Email::LocalDelivery->deliver($mail, $dsn) or die "couldn't deliver to $dsn";
...where $dsn is a full DBI DSN, including user= and password=, e.g.
'DBI:mysql:database=DATABASE;host=HOSTNAME;port=PORT;user=USER;password=PASSWORD'
DESCRIPTION
This module is an Email::LocalDelivery wrapper for Email::Store, which is a "framework for database-backed email storage."
It allows you to easily swap in database email storage instead of Mbox or Maildir.
Just register the "Store" FolderType, like this:
and then call Email::LocalDelivery->deliver( $mail, $dsn )
This module was created to allow Siesta to archive mail in MySQL.
METHODS
deliver( $rfc822, @dsns )
$rfc822
is an RFC822 formatted email message, and @dsns
is a list of DBI DSN strings.
Since Email::Store is instantiated with the DSN, and I really don't know what I'm doing, I had to eval 'use Email::Store $dsn' inside the deliver() method. I suspect that this will blow up if you try to pass more than one DSN, so I made it exit after the first one.
ATTENTION
Email::Store (obviously) requires some form of database backend. Since you will have already figured all that out, this module doesn't test your database connection itself.
AUTHOR
Bowen Dwelle <bowen@dwelle.org> http://www.dwelle.org/
COPYRIGHT
Copyright (C) 2004 Bowen Dwelle. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
siesta, Email::LocalDelivery, Email::FolderType, Email::Store
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 31:
=over should be: '=over' or '=over positive_number'
- Around line 40:
You forgot a '=back' before '=head1'