NAME
Email::MIME::Kit::Renderer::MicroMason - Render parts of your mail with Text::MicroMason
VERSION
version 1.21
SYNOPSIS
To use MicroMason in your mkit use something like:
{
"renderer"
:
"MicroMason"
,
"header"
: [
{
"From"
:
"WY Corp <noreplies@wy.example.com"
},
{
"To"
:
"<% $ARGS{recruit}->email %>"
},
{
"Subject"
:
"Welcome aboard, <% ARGS{recruit}->name %>"
}
],
"alternatives"
: [
{
"type"
:
"text/plain"
,
"path"
:
"body.txt"
},
{
"type"
:
"text/html"
,
"path"
:
"body.html"
,
"container_type"
:
"multipart/related"
,
"attachments"
: [ {
"type"
:
"image/jpeg"
,
"path"
:
"logo.jpg"
} ]
}
]
}
Then in your email templates (body.txt and body.html) you can do:
<
%args
>
$recruit
$cid_for
</
%args
>
<&
"../includes/header.msn"
,
%ARGS
&>
<p>
Dear <%
$recruit
->name %>,
</p>
<p>
Welcome to WY Corp.
</p>
<&
"../includes/footer.msn"
,
%ARGS
&>
EMK::Renderer::MicroMason will try to make any components included with <& ... &> relative to the mkit directory.
DESCRIPTION
This renderer for Email::MIME::Kit uses Text::MicroMason to enable you to write your mkits using basic Mason syntax. See Text::MicroMason::HTMLMason for details on the syntax.
This is based on Text::MicroMason rather than the full blown HTML::Mason because HTML::Mason is focused on directories and files and Email::MIME::Kit prefers to work with strings. Text::MicroMason accommodates this and is a bit smaller than it's big brother.
METHODS
- render()
-
render(
$content_ref
,
$stash
)
Called by Email::MIME::Kit::Renderer to parse template strings ($content_ref) with Text::MicroMason and return a plain text string.
ACKNOWLEGEMENTS
This is basically just Ricardo SIGNES' EMK::Renderer::TestRenderer with basic integration of Text::MicroMason. Thanks to Ricardo for the excellent EMK package.
SEE ALSO
Email::MIME::Kit, HTML::Mason, Text::MicroMason, and Text::MicroMason::HTMLMason.
AUTHOR
Mark Grimes, <mgrimes@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Mark Grimes, <mgrimes@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.