NAME
    Mail::Delivery - top level mail delivery system interface.

SYNOPSIS
        use Mail::Delivery;
        my $service = new Mail::Delivery {
            protocol           => 'SMTP',
            default_io_timeout => 10,
        };
        if ($service->error) { $curproc->logerror($service->error); return;}

        # specify IO::Adapter parameters if needed.
        $map_params = {
            'mysql:toymodel' => {
                sql_get_next_key => "select ... ",
                sql_add          => "insert ... ",
                sql_delete       => "delete ... ",
                sql_find         => "...";
            },
        };

        $service->deliver(
                          {
                              smtp_servers    => '[::1]:25 127.0.0.1:25',

                              smtp_sender     => 'rudo@nuinui.net',
                              recipient_maps  => $recipient_maps,
                              recipient_limit => 1000,
                              map_params      => $map_params,

                              message         => $message,
                          });
        if ($service->error) { $curproc->logerror($service->error); return;}

    This class provides the entrance for sub classes. Actually
    implementation of this class is almost same as "Mail::Delivery::SMTP"
    class. Please see it for more details.

DESCRIPTION
    In "Mail::Delivery" class, "Delivery" is an adapter to "SMTP" "ESMTP"
    "LMTP" classes. For example, we use "Delivery" as an entrance into
    actual delivery routines in "SMTP" "ESMTP" "LMTP" classes.

                         SMTP
                          |
                          A
                      ----------
                     |          |
      Delivery --> ESMTP       LMTP

METHODS
    "new($args)"
        constructor. The request is forwarded to SUPER class.

CODING STYLE
    See "http://www.fml.org/software/FNF/" on fml coding style guide.

AUTHOR
    Ken'ichi Fukamachi

COPYRIGHT
    Copyright (C) 2000,2001,2002,2003,2004,2005,2006 Ken'ichi Fukamachi

    All rights reserved. This program is free software; you can redistribute
    it and/or modify it under the same terms as Perl itself.

HISTORY
    Mail::Delivery first appeared in fml8 mailing list driver package. See
    "http://www.fml.org/" for more details.

