NAME

Catalyst::View::Email::Template - Send Templated Email from Catalyst

SYNOPSIS

Sends Templated mail, based upon your Default View. Will capture the output of the rendering path, slurps in based on mime-types and assembles a multi-part email and sends it out.

CONFIGURATION

View::Email::Template:
    # Set it up so if you have multiple parts, they're alternatives.
    # This is on the top-level message, not the individual parts.
    content_type: multipart/alternative
    # Optional prefix to look somewhere under the existing configured
    # template  paths.
    template_prefix: email
    # Where to look in the stash for the email information
    stash_key: email
    # Setup how to send the email
    sender:
        method:     SMTP
        host:       smtp.myhost.com
        username:   username
        password:   password

SENDING EMAIL

Sending email is just setting up your stash key, and forwarding to the view.

$c->stash->{email} = {
    to      => 'jshirley@gmail.com',
    from    => 'no-reply@foobar.com',
    subject => 'I am a Catalyst generated email',
    # Specify which templates to include
    templates => [
        qw{text_plain/test.tt},
        qw{text_html/test.tt}
    ]
};
$c->forward('View::Email::Template');

If it fails $c->error will have the error message.

TODO

ATTACHMENTS

There needs to be a method to support attachments. What I am thinking is something along these lines:

attachments => [
    # Set the body to a file handle object, specify content_type and
    # the file name. (name is what it is sent at, not the file)
    { body => $fh, name => "foo.pdf", content_type => "application/pdf" },
    # Or, specify a filename that is added, and hey, encoding!
    { filename => "foo.gif", name => "foo.gif", content_type => "application/pdf", encoding => "quoted-printable" },
    # Or, just a path to a file, and do some guesswork for the content type
    "/path/to/somefile.pdf",
]

SEE ALSO

Catalyst::View::Email - Send plain boring emails with Catalyst

Catalyst::Manual - The Catalyst Manual

Catalyst::Manual::Cookbook - The Catalyst Cookbook

AUTHORS

J. Shirley <jshirley@gmail.com>

LICENSE

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