@@ -, +, @@ --- C4/Letters.pm | 11 ++++++++++- Koha/Patron/Password/Recovery.pm | 2 +- misc/cronjobs/automatic_renewals.pl | 6 ++---- misc/cronjobs/membership_expiry.pl | 3 +-- 4 files changed, 14 insertions(+), 8 deletions(-) --- a/C4/Letters.pm +++ a/C4/Letters.pm @@ -1351,6 +1351,15 @@ sub _send_message_by_email { $branch_returnpath = $library->branchreturnpath; } + my $from_address = $message->{'from_address'} || $library->from_email_address; + if( !$from_address ) { + _set_message_status({ + message_id => $message->{'message_id'}, + status => 'failed', + delivery_note => 'No from address', + }); + return; + }; my $email = Koha::Email->create( { to => $to_address, @@ -1359,7 +1368,7 @@ sub _send_message_by_email { ? ( bcc => C4::Context->preference('NoticeBcc') ) : () ), - from => $message->{'from_address'} || $branch_email, + from => $from_address, reply_to => $message->{'reply_address'} || $branch_replyto, sender => $branch_returnpath, subject => "" . $message->{subject} --- a/Koha/Patron/Password/Recovery.pm +++ a/Koha/Patron/Password/Recovery.pm @@ -151,7 +151,7 @@ sub SendPasswordRecoveryEmail { # define from emails my $library = $borrower->library; - my $kohaEmail = $library->branchemail || C4::Context->preference('KohaAdminEmailAddress'); # send from patron's branch or Koha Admin + my $kohaEmail = $library->from_email_address; # send from patron's branch or Koha Admin my $message_id = C4::Letters::EnqueueLetter( { --- a/misc/cronjobs/automatic_renewals.pl +++ a/misc/cronjobs/automatic_renewals.pl @@ -212,7 +212,7 @@ if ( $send_notices && $confirm ) { ); my $library = Koha::Libraries->find( $patron->branchcode ); - my $admin_email_address = $library->branchemail || C4::Context->preference('KohaAdminEmailAddress'); + my $admin_email_address = $library->from_email_address; C4::Letters::EnqueueLetter( { letter => $letter, @@ -270,8 +270,6 @@ String that denote the letter code. sub send_digests { my $params = shift; - my $admin_email_address = C4::Context->preference('KohaAdminEmailAddress'); - PATRON: while ( my ( $borrowernumber, $digest ) = each %{$params->{digests}} ) { my $borrower_preferences = C4::Members::Messaging::GetMessagingPreferences( @@ -285,7 +283,7 @@ sub send_digests { my $patron = Koha::Patrons->find( $borrowernumber ); my $library = Koha::Libraries->find( $params->{branchcode} ); - my $from_address = $library->{branchemail} || $admin_email_address; + my $from_address = $library->from_email_address; foreach my $transport ( keys %{ $borrower_preferences->{'transports'} } ) { my $letter = C4::Letters::GetPreparedLetter ( --- a/misc/cronjobs/membership_expiry.pl +++ a/misc/cronjobs/membership_expiry.pl @@ -168,7 +168,6 @@ if( !$expdays ) { exit; } -my $admin_adress = C4::Context->preference('KohaAdminEmailAddress'); warn 'getting upcoming membership expires' if $verbose; my $upcoming_mem_expires = Koha::Patrons->search_upcoming_membership_expires( { @@ -183,7 +182,7 @@ warn 'found ' . $upcoming_mem_expires->count . ' soon expiring members' # main loop $letter_type = 'MEMBERSHIP_EXPIRY' if !$letter_type; while ( my $recent = $upcoming_mem_expires->next ) { - my $from_address = $recent->library->branchemail || $admin_adress; + my $from_address = $recent->library->from_email_address; my $letter = C4::Letters::GetPreparedLetter( module => 'members', letter_code => $letter_type, --