@@ -, +, @@ $ kshell k$ prove t/Koha/Email.t => FAIL: Sender is not handled correctly! => SUCCESS: Tests pass! The from parameter is correct! No Sender header sent! - my @headers = $self->email->header_str_pairs; - foreach my $pair ( pairs @headers ) { - my ( $header, $value ) = @$pair; - $args->{from} = $value if $header eq 'Sender'; - } - - # Remove the Sender header - $self->email->header_str_set('Sender'); + $args->{from} = $self->email->header_str('Sender'); + $self->email->header_str_set('Sender'); # remove Sender header --- Koha/Email.pm | 5 +++++ 1 file changed, 5 insertions(+) --- a/Koha/Email.pm +++ a/Koha/Email.pm @@ -177,6 +177,11 @@ sub send_or_die { $args->{to} = \@recipients; } + unless ( $args->{from} ) { # don't do it if passed an explicit 'from' param + $args->{from} = $self->email->header_str('Sender'); + $self->email->header_str_set('Sender'); # remove Sender header + } + $self->SUPER::send_or_die($args); } --