From ef6f0c299906d6ef0e846aa18a45c01f776a9c66 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 24 Nov 2006 08:55:24 +0000 Subject: [PATCH] Fix fuer Bug 358: MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Von Rolf Eike Beer Developer ML: SL-Mailer.pm.diff SQL-Ledger in der Message-Id und im Boundary-Trenner durch Lx-Office ersetzt. SL-Form.pm.diff: Der Trenner für die Signatur ist nicht "--", sondern "-- ". Ohne das Leerzeichen erkennen das die "guten" Mailprogramme nicht als Signatur an. Das ohne Leerzeichen zu senden ist ein seit Jahren ungefixter Bug in Outlook Express. Außerdem werden alle Zeilenumbrüche in Nachricht und Signatur als '\n' an den Mailer übergeben, kein '\r' mehr. Das ist irgendwo zwischen unnötig und falsch, je nachdem welcher Mailer verwendet wird. Der Anhang (z.B. meine PDF-Datei) hat sowieso nur \n als Zeilenumbruch, wenn es an den Mailer übergeben wird. Wenn der Mailer jedoch ein qmail ist hat man ein Problem. qmail ist an dieser Stelle defekt und erzeugt beim Versand dann anstatt "\r\n" Zeilenumbrüche mit "\r\r\n" mit beliebigen Effekten (Ablehnung durch Empfänger, zerrupfte Darstellung, abbrechende Mailverbindungen). --- SL/Form.pm | 8 +++++--- SL/Mailer.pm | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/SL/Form.pm b/SL/Form.pm index e0a3d23ec..0d32e2d0c 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -778,6 +778,7 @@ sub parse_template { $mail->{to} = qq|$self->{email}|; $mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|; $mail->{fileid} = "$fileid."; + $myconfig->{signature} =~ s/\\r\\n/\\n/g; # if we send html or plain text inline if (($self->{format} eq 'html') && ($self->{sendmode} eq 'inline')) { @@ -785,7 +786,7 @@ sub parse_template { $mail->{message} =~ s/\r\n/
\n/g; $myconfig->{signature} =~ s/\\n/
\n/g; - $mail->{message} .= "
\n--
\n$myconfig->{signature}\n
"; + $mail->{message} .= "
\n--
\n$myconfig->{signature}\n
"; open(IN, $self->{tmpfile}) or $self->error($self->cleanup . "$self->{tmpfile} : $!"); @@ -799,8 +800,9 @@ sub parse_template { @{ $mail->{attachments} } = ($self->{tmpfile}) unless ($form->{do_not_attach}); - $myconfig->{signature} =~ s/\\n/\r\n/g; - $mail->{message} .= "\r\n--\r\n$myconfig->{signature}"; + $mail->{message} =~ s/\r\n/\n/g; + $myconfig->{signature} =~ s/\\n/\n/g; + $mail->{message} .= "\n-- \n$myconfig->{signature}"; } diff --git a/SL/Mailer.pm b/SL/Mailer.pm index 76eac68e3..32e7ca28e 100644 --- a/SL/Mailer.pm +++ b/SL/Mailer.pm @@ -47,7 +47,7 @@ sub send { my ($self, $out) = @_; my $boundary = time; - $boundary = "SL-$self->{version}-$boundary"; + $boundary = "LxOffice-$self->{version}-$boundary"; my $domain = $self->{from}; $domain =~ s/(.*?\@|>)//g; my $msgid = "$boundary\@$domain"; @@ -83,7 +83,7 @@ sub send { To: $self->{to} ${cc}${bcc}Subject: $self->{subject} Message-ID: <$msgid> -X-Mailer: SQL-Ledger $self->{version} +X-Mailer: Lx-Office $self->{version} MIME-Version: 1.0 |; -- 2.20.1