@@ -, +, @@ --- Koha/Email.pm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ t/Koha_Email.t | 11 ++++++++++ 2 files changed, 76 insertions(+) create mode 100644 Koha/Email.pm create mode 100755 t/Koha_Email.t --- a/Koha/Email.pm +++ a/Koha/Email.pm @@ -0,0 +1,65 @@ +# Copyright 2014 Catalyst +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +package Koha::Email; + +use Modern::Perl; + +use base qw(Class::Accessor); +use C4::Context; + +__PACKAGE__->mk_accessors(qw( )); + +=head1 NAME + +Koha::Email + +=head1 SYNOPSIS + + use Koha::Email; + my $email = Koha::Email->new(); + my %mail = $email->create_message_headers({ to => $to_address, from => $from_address, + replyto => $replyto }); + +=head1 FUNCTIONS + +=cut + +sub create_message_headers { + my $self = shift; + my $params = shift; + $params->{from} ||= C4::Context->preference('KohaAdminEmailAddress'); + $params->{charset} ||= 'utf8'; + my %mail = ( + To => $params->{to}, + From => $params->{from}, + charset => $params->{charset} + ); + if ( C4::Context->preference('ReplytoDefault') ) { + $params->{replyto} ||= C4::Context->preference('ReplytoDefault'); + } + if ( C4::Context->preference('ReturnpathDefault') ) { + $params->{sender} ||= C4::Context->preference('ReturnpathDefault'); + } + $mail{'Reply-to'} = $params->{replyto} if $params->{replyto}; + $mail{'Sender'} = $params->{sender} if $params->{sender}; + $mail{'Message'} = $params->{message} if $params->{message}; + $mail{'Subject'} = $params->{subject} if $params->{subject}; + $mail{'Content-Type'} = $params->{contenttype} if $params->{contenttype}; + return %mail; +} +1; --- a/t/Koha_Email.t +++ a/t/Koha_Email.t @@ -0,0 +1,11 @@ +use Modern::Perl; + +use Test::More tests => 4; # last test to print + +use_ok('Koha::Email'); + +my $from = 'chrisc@catalyst.net.nz'; + +ok( my $email = Koha::Email->new(), 'Create a Koha::Email Object'); +ok( my %mail = $email->create_message_headers({from => $from}),'Set headers'); +is ($mail{'From'}, $from, 'Set correctly'); --