@@ -, +, @@ --- members/memberentry.pl | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) --- a/members/memberentry.pl +++ a/members/memberentry.pl @@ -418,19 +418,15 @@ if ((!$nok) and $nodouble and ($op eq 'insert' or $op eq 'save')){ # If 'AutoEmailOpacUser' syspref is on, email user their account details from the 'notice' that matches the user's branchcode. if ( C4::Context->preference("AutoEmailOpacUser") == 1 && $newdata{'userid'} && $newdata{'password'}) { #look for defined primary email address, if blank - attempt to use borr.email and borr.emailpro instead - my $emailaddr; - if (C4::Context->preference("AutoEmailPrimaryAddress") ne 'OFF' && - $newdata{C4::Context->preference("AutoEmailPrimaryAddress")} =~ /\w\@\w/ ) { - $emailaddr = $newdata{C4::Context->preference("AutoEmailPrimaryAddress")} - } - elsif ($newdata{email} =~ /\w\@\w/) { - $emailaddr = $newdata{email} + my @email_addresses; + for my $field ( split /,/, C4::Context->preference("AutoEmailPrimaryAddress") ) { + push @email_addresses, $_ if $newdata{$_} =~ /\w@\w/ } - elsif ($newdata{emailpro} =~ /\w\@\w/) { - $emailaddr = $newdata{emailpro} - } - elsif ($newdata{B_email} =~ /\w\@\w/) { - $emailaddr = $newdata{B_email} + my $emailaddr = join ", ", @email_addresses; + unless ( $emailaddr ) { + for my $field ( qw( email emailpro B_email ) ) { + $emailaddr = $newdata{$field} if $newdata{$field} =~ m|\w\@\w|; + } } # if we manage to find a valid email address, send notice if ($emailaddr) { --