NAME

Catalyst::Action::RenderView::ErrorHandler::Action::Email - Catalyst ErrorHandler Action for Email

SYNOPSIS

#In a configuration somewhere:
error_handler => {
        'actions' => [
		{
			type => 'Log',
			id => 'log-server',
			level => 'error'
		},
		{
			#Use this action
			type => 'Email',
              		id => 'log-email',
			#Regex to ignore all request paths with PhpMyAdmin or SqlDump init. Regex is case insensitive used.
			ignorePath => '(PhpMyAdmin|SqlDump)',
			#This should be a Catalyst::View::Email::Template or Catalyst::View::Email view.
			view => 'ErrorMail',
			#This options are copied into $c->stash->{email} for accesing from the view selected above
			#For additional information look into the documentation of Catalyst::View::Email::Template
              		options => {
			(
				#becomes $c->stash->{email}->{from} = ...
				from => 'MyApp - Homepage <homepage@domain.com>',
				to => 'you@domain.com',
				subject => 'Homepage - ErrorMail',
				#Template isn't needed, if you use the simple Catalyst::View::Email
				templates => [
					{
						template        => 'ErrorMail.tt2',
						content_type    => 'text/html',
						charset         => 'utf-8',
						encoding        => 'quoted-printable',
						#View to render the Template
						view            => 'HTMLEmail', 
					},
				]
			)}
		}
	],
	'handlers' => {
	(
        	'5xx' => {
			template => 'error_internal.tt2',
			actions => ['log-server','log-email']
		},
		'404' => {
			template => 'error.tt2'
		},
		'fallback' =>  {
                	static => 'root/src/error.html', 
                	actions => ['log-email','log-email']
		}
	)}
} 

#The template may look like:
[% USE Dumper %]
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error Report</title>
</head>

<body>
<p>There was a error in yor App:</p>
<h4>Requested path:</h4>
<p>[% base %][% c.request.path %]</p>

<h4>Arguments:</h4>
[% FOREACH a IN c.request.args %]
   <p>[% a | html %]</p>
[% END %]

<h4>Parameters:</h4>
[% Dumper.dump(c.request.parameters) %]

<h4>User Agent:</h4>
<p>[% c.request.user_agent | html %]</p>

<h4>Referer:</h4>
<p>[% c.request.referer | html %]</p>

<h4>Error messages:</h4>
[% FOREACH e IN c.error %]
   <p>[% e | html %]</p>
[% END %]

[% IF c.response.code %]
<h4>Error code:</h4>
<p>[% c.response.code %]</p>
[% END %]

</body>
</html>

DESCRIPTION

Used by Catalyst::Action::RenderView::ErrorHandler to send an Email if there is an error in your Catalyst application.

SEE ALSO

Catalyst::Action::RenderView::ErrorHandler Catalyst::Action::RenderView::ErrorHandler::Action::Log Catalyst::View::Email Catalyst::View::Email::Template

AUTHOR

Stefan Profanter, <profanter@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Stefan Profanter

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 92:

Non-ASCII character seen before =encoding in '[%'. Assuming UTF-8