Bug 24380: Unit Test
[koha.git] / Koha / Email.pm
blobf1e825e526601ddf29878fac9bb92277037be5da
1 # Copyright 2014 Catalyst
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
18 package Koha::Email;
20 use Modern::Perl;
21 use Email::Valid;
22 use Email::MessageID;
24 use base qw(Class::Accessor);
25 use C4::Context;
27 __PACKAGE__->mk_accessors(qw( ));
29 =head1 NAME
31 Koha::Email
33 =head1 SYNOPSIS
35 use Koha::Email;
36 my $email = Koha::Email->new();
37 my %mail = $email->create_message_headers({ to => $to_address, from => $from_address,
38 replyto => $replyto });
40 =head1 FUNCTIONS
42 =cut
44 sub create_message_headers {
45 my $self = shift;
46 my $params = shift;
47 $params->{from} ||= C4::Context->preference('KohaAdminEmailAddress');
48 $params->{charset} ||= 'utf8';
49 my %mail = (
50 To => $params->{to},
51 From => $params->{from},
52 charset => $params->{charset}
55 if (C4::Context->preference('SendAllEmailsTo') && Email::Valid->address(C4::Context->preference('SendAllEmailsTo'))) {
56 $mail{'To'} = C4::Context->preference('SendAllEmailsTo');
58 else {
59 $mail{'Cc'} = $params->{cc} if exists $params->{cc};
60 $mail{'Bcc'} = $params->{bcc} if exists $params->{bcc};
63 if ( C4::Context->preference('ReplytoDefault') ) {
64 $params->{replyto} ||= C4::Context->preference('ReplytoDefault');
66 if ( C4::Context->preference('ReturnpathDefault') ) {
67 $params->{sender} ||= C4::Context->preference('ReturnpathDefault');
69 $mail{'Reply-to'} = $params->{replyto} if $params->{replyto};
70 $mail{'Sender'} = $params->{sender} if $params->{sender};
71 $mail{'Message'} = $params->{message} if $params->{message};
72 $mail{'Subject'} = $params->{subject} if $params->{subject};
73 $mail{'Content-Type'} = $params->{contenttype} if $params->{contenttype};
74 $mail{'X-Mailer'} = "Koha";
75 $mail{'Message-ID'} = Email::MessageID->new->in_brackets;
76 return %mail;