| Lines 20-26
          package Koha::Email;
      
      
        Link Here | 
        
          | 20 |  | 20 |  | 
        
          | 21 | use Modern::Perl; | 21 | use Modern::Perl; | 
        
          | 22 |  | 22 |  | 
          
            
              | 23 | use Email::Valid; | 23 | use Email::Address; | 
        
          | 24 | use Email::MessageID; | 24 | use Email::MessageID; | 
        
          | 25 | use List::Util qw( pairs ); | 25 | use List::Util qw( pairs ); | 
        
          | 26 |  | 26 |  | 
  
    | Lines 78-84
          sub create {
      
      
        Link Here | 
        
          | 78 |     my $args = {}; | 78 |     my $args = {}; | 
        
          | 79 |     $args->{from} = $params->{from} || C4::Context->preference('KohaAdminEmailAddress'); | 79 |     $args->{from} = $params->{from} || C4::Context->preference('KohaAdminEmailAddress'); | 
        
          | 80 |     Koha::Exceptions::BadParameter->throw("Invalid 'from' parameter: ".$args->{from}) | 80 |     Koha::Exceptions::BadParameter->throw("Invalid 'from' parameter: ".$args->{from}) | 
          
            
              | 81 |         unless Email::Valid->address( -address => $args->{from}, -fqdn => 0 ); # from is mandatory | 81 |         unless $args->{from} =~ m/$Email::Address::mailbox/; # from is mandatory | 
        
          | 82 |  | 82 |  | 
        
          | 83 |     $args->{subject} = $params->{subject} // ''; | 83 |     $args->{subject} = $params->{subject} // ''; | 
        
          | 84 |  | 84 |  | 
  
    | Lines 90-96
          sub create {
      
      
        Link Here | 
        
          | 90 |     } | 90 |     } | 
        
          | 91 |  | 91 |  | 
        
          | 92 |     Koha::Exceptions::BadParameter->throw("Invalid 'to' parameter: ".$args->{to}) | 92 |     Koha::Exceptions::BadParameter->throw("Invalid 'to' parameter: ".$args->{to}) | 
          
            
              | 93 |         unless Email::Valid->address( -address => $args->{to}, -fqdn => 0 ); # to is mandatory | 93 |         unless $args->{to} =~ m/$Email::Address::mailbox/; # to is mandatory | 
        
          | 94 |  | 94 |  | 
        
          | 95 |     my $addresses = {}; | 95 |     my $addresses = {}; | 
        
          | 96 |     $addresses->{reply_to} = $params->{reply_to}; | 96 |     $addresses->{reply_to} = $params->{reply_to}; | 
  
    | Lines 111-120
          sub create {
      
      
        Link Here | 
        
          | 111 |     foreach my $address ( keys %{$addresses} ) { | 111 |     foreach my $address ( keys %{$addresses} ) { | 
        
          | 112 |         Koha::Exceptions::BadParameter->throw( | 112 |         Koha::Exceptions::BadParameter->throw( | 
        
          | 113 |             "Invalid '$address' parameter: " . $addresses->{$address} ) | 113 |             "Invalid '$address' parameter: " . $addresses->{$address} ) | 
          
            
              | 114 |           if $addresses->{$address} and !Email::Valid->address( | 114 |           if $addresses->{$address} | 
            
              | 115 |             -address => $addresses->{$address}, | 115 |             and $addresses->{$address} !~ m/$Email::Address::mailbox/; | 
            
              | 116 |             -fqdn    => 0 |  |  | 
            
              | 117 |           ); | 
        
          | 118 |     } | 116 |     } | 
        
          | 119 |  | 117 |  | 
        
          | 120 |     $args->{cc} = $addresses->{cc} | 118 |     $args->{cc} = $addresses->{cc} |