Email::Sender::Transport::SQLite - deliver mail to an sqlite db for testing
This transport makes deliveries to an SQLite database, creating it if needed. The SQLite transport is intended for testing programs that fork or that otherwise can't use the Test transport. It is not meant for robust, long-term storage of mail.
The database will be created in the file named by the
db_file attribute, which defaults to email.db.
The database will have two tables:
CREATE TABLE emails ( id INTEGER PRIMARY KEY, body varchar NOT NULL, env_from varchar NOT NULL ); CREATE TABLE recipients ( id INTEGER PRIMARY KEY, email_id integer NOT NULL, env_to varchar NOT NULL );
Each delivery will insert one row to the emails table and one row per recipient to the recipients table.
Delivery to this transport should never fail.
my @deliveries = $transport->retrieve_deliveries;
This method returns a list of deliveries made so far to this transport's database. They're returned in order of insertion, and each delivery is a hash reference like this:
id => $db_primary_key, env_from => $envelope_sender, env_to => \@all_env_recipients, message => $text_of_email_sent
More fields may be added in the future.
Ricardo Signes <firstname.lastname@example.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Ricardo Signes.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.