Fix fuer Bug 358:
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 24 Nov 2006 08:55:24 +0000 (08:55 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 24 Nov 2006 08:55:24 +0000 (08:55 +0000)
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
SL/Mailer.pm

index e0a3d23..0d32e2d 100644 (file)
@@ -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/<br>\n/g;
         $myconfig->{signature} =~ s/\\n/<br>\n/g;
-        $mail->{message} .= "<br>\n--<br>\n$myconfig->{signature}\n<br>";
+        $mail->{message} .= "<br>\n-- <br>\n$myconfig->{signature}\n<br>";
 
         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}";
 
       }
 
index 76eac68..32e7ca2 100644 (file)
@@ -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
 |;