From: Moritz Bunkus Date: Mon, 6 Feb 2017 08:12:55 +0000 (+0100) Subject: Mailer: nur Adress-Anteil als Absender im SMTP-Dialog verwenden & nicht encodieren X-Git-Tag: release-3.5.4~1534 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=895ccd7f588590ba383a739702aba12b035f8fb4;hp=63dc98ee1d7bc23baa2567f2da7ad188f38d70d1;p=kivitendo-erp.git Mailer: nur Adress-Anteil als Absender im SMTP-Dialog verwenden & nicht encodieren Der SMTP-Dialog nutzt beim MAIL FROM nur den Adress-Anteil einer E-Mail-Adresse: MAIL FROM: Daher sollte auch nur dieser Anteil übergeben werden, auch wenn in $self->{from} potenziell eine komplette Adresse steht. Da dieser Adress-Anteil ausschließlich aus ASCII-Zeichen besteht, muss er dann auch nicht encodiert werden. Das macht die Strings im Log leserlicher, und vermutlich sind MIME-Q-/-B-Encodings auch im SMTP-Standard eigentlich nicht erlaubt (siehe RFC 5321). --- diff --git a/SL/Mailer.pm b/SL/Mailer.pm index b8b8b1775..abc25f7ce 100644 --- a/SL/Mailer.pm +++ b/SL/Mailer.pm @@ -245,7 +245,9 @@ sub send { #$::lxdebug->message(0, "message: " . $email->as_string); # return "boom"; - $self->{driver}->start_mail(from => encode('MIME-Header',$self->{from}), to => [ $self->_all_recipients ]); + my $from_obj = (Email::Address->parse($self->{from}))[0]; + + $self->{driver}->start_mail(from => $from_obj->address, to => [ $self->_all_recipients ]); $self->{driver}->print($email->as_string); $self->{driver}->send;