The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Email::Sender::Transport::SQLite - deliver mail to an sqlite db for testing

VERSION

version 0.092003

DESCRIPTION

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.

METHODS

retrieve_deliveries

  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.

AUTHOR

Ricardo Signes <rjbs@cpan.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.