NAME
    Catalyst::Plugin::Email - Send emails with Catalyst

SYNOPSIS
        use Catalyst 'Email';

        __PACKAGE__->config->{email} = [qw/SMTP smtp.oook.de/];

        $c->email(
            header => [
                From    => 'sri@oook.de',
                To      => 'sri@cpan.org',
                Subject => 'Hello!'
            ],
            body => 'Hello sri'
        );

DESCRIPTION
    Send emails with Catalyst and Email::Send and Email::MIME::Creator.

USING WITH A VIEW
    A common practice is to handle emails using the same template language
    used for HTML pages. This can be accomplished by pairing this plugin
    with Catalyst::Plugin::SubRequest.

    Here is a short example of rendering an email from a Template Toolkit
    source file. The call to $c->subreq makes an internal call to the
    render_email method just like an external call from a browser. The
    request will pass through the end method to be processed by your View
    class.

        sub send_email : Local {
            my ( $self, $c ) = @_;  

            $c->email(
                header => [
                    To      => 'me@localhost',
                    Subject => 'A TT Email',
                ],
                body => $c->subreq( '/render_email' ),
            );
            # redirect or display a message
        }
    
        sub render_email : Local {
            my ( $self, $c ) = @_;
        
            $c->stash(
                names    => [ qw/andyg sri mst/ ],
                template => 'email.tt',
            );
        }
    
    And the template:

        [%- FOREACH name IN names -%]
        Hi, [% name %]!
        [%- END -%]
    
        --
        Regards,
        Us

    Output:

        Hi, andyg!
        Hi, sri!
        Hi, mst!
    
        --
        Regards,
        Us

METHODS
  email
SEE ALSO
    Catalyst, Catalyst::Plugin::SubRequest, Email::Send,
    Email::MIME::Creator

AUTHOR
    Sebastian Riedel, "sri@cpan.org"

COPYRIGHT
    This program is free software, you can redistribute it and/or modify it
    under the same terms as Perl itself.