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>.
24 use base qw(Class::Accessor);
27 __PACKAGE__->mk_accessors(qw( ));
36 my $email = Koha::Email->new();
37 my %mail = $email->create_message_headers({ to => $to_address, from => $from_address,
38 replyto => $replyto });
44 sub create_message_headers {
47 $params->{from} ||= C4::Context->preference('KohaAdminEmailAddress');
48 $params->{charset} ||= 'utf8';
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');
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;