@@ -, +, @@ contain umlauts and also have the "Description
" format that is used when sending carts. $ kshell k$ prove t/Koha/Email.t from we passed. $ sudo apt install libemail-address-perl --- Koha/Email.pm | 12 +++++------- cpanfile | 1 + 2 files changed, 6 insertions(+), 7 deletions(-) --- a/Koha/Email.pm +++ a/Koha/Email.pm @@ -20,7 +20,7 @@ package Koha::Email; use Modern::Perl; -use Email::Valid; +use Email::Address; use Email::MessageID; use List::Util qw( pairs ); @@ -78,7 +78,7 @@ sub create { my $args = {}; $args->{from} = $params->{from} || C4::Context->preference('KohaAdminEmailAddress'); Koha::Exceptions::BadParameter->throw("Invalid 'from' parameter: ".$args->{from}) - unless Email::Valid->address( -address => $args->{from}, -fqdn => 0 ); # from is mandatory + unless $args->{from} =~ m/$Email::Address::mailbox/; # from is mandatory $args->{subject} = $params->{subject} // ''; @@ -90,7 +90,7 @@ sub create { } Koha::Exceptions::BadParameter->throw("Invalid 'to' parameter: ".$args->{to}) - unless Email::Valid->address( -address => $args->{to}, -fqdn => 0 ); # to is mandatory + unless $args->{to} =~ m/$Email::Address::mailbox/; # to is mandatory my $addresses = {}; $addresses->{reply_to} = $params->{reply_to}; @@ -111,10 +111,8 @@ sub create { foreach my $address ( keys %{$addresses} ) { Koha::Exceptions::BadParameter->throw( "Invalid '$address' parameter: " . $addresses->{$address} ) - if $addresses->{$address} and !Email::Valid->address( - -address => $addresses->{$address}, - -fqdn => 0 - ); + if $addresses->{$address} + and $addresses->{$address} !~ m/$Email::Address::mailbox/; } $args->{cc} = $addresses->{cc} --- a/cpanfile +++ a/cpanfile @@ -34,6 +34,7 @@ requires 'DateTime::Format::MySQL', '0.04'; requires 'DateTime::TimeZone', '1.20'; requires 'Digest::MD5', '2.36'; requires 'Digest::SHA', '5.43'; +requires 'Email::Address', '>= 1.908'; requires 'Email::Date', '1.103'; requires 'Email::MessageID', '1.406'; requires 'Email::Sender', '1.300030'; --