Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ef6f0c29

Von Moritz Bunkus vor etwa 18 Jahren hinzugefügt

  • ID ef6f0c299906d6ef0e846aa18a45c01f776a9c66
  • Vorgänger 0b1a0aa1
  • Nachfolger 3db7bbb2

Fix fuer Bug 358:

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).

Unterschiede anzeigen:

SL/Form.pm
778 778
      $mail->{to}     = qq|$self->{email}|;
779 779
      $mail->{from}   = qq|"$myconfig->{name}" <$myconfig->{email}>|;
780 780
      $mail->{fileid} = "$fileid.";
781
      $myconfig->{signature} =~ s/\\r\\n/\\n/g;
781 782

  
782 783
      # if we send html or plain text inline
783 784
      if (($self->{format} eq 'html') && ($self->{sendmode} eq 'inline')) {
......
785 786

  
786 787
        $mail->{message}       =~ s/\r\n/<br>\n/g;
787 788
        $myconfig->{signature} =~ s/\\n/<br>\n/g;
788
        $mail->{message} .= "<br>\n--<br>\n$myconfig->{signature}\n<br>";
789
        $mail->{message} .= "<br>\n-- <br>\n$myconfig->{signature}\n<br>";
789 790

  
790 791
        open(IN, $self->{tmpfile})
791 792
          or $self->error($self->cleanup . "$self->{tmpfile} : $!");
......
799 800

  
800 801
        @{ $mail->{attachments} } = ($self->{tmpfile}) unless ($form->{do_not_attach});
801 802

  
802
        $myconfig->{signature} =~ s/\\n/\r\n/g;
803
        $mail->{message} .= "\r\n--\r\n$myconfig->{signature}";
803
        $mail->{message}       =~ s/\r\n/\n/g;
804
        $myconfig->{signature} =~ s/\\n/\n/g;
805
        $mail->{message} .= "\n-- \n$myconfig->{signature}";
804 806

  
805 807
      }
806 808

  
SL/Mailer.pm
47 47
  my ($self, $out) = @_;
48 48

  
49 49
  my $boundary = time;
50
  $boundary = "SL-$self->{version}-$boundary";
50
  $boundary = "LxOffice-$self->{version}-$boundary";
51 51
  my $domain = $self->{from};
52 52
  $domain =~ s/(.*?\@|>)//g;
53 53
  my $msgid = "$boundary\@$domain";
......
83 83
To: $self->{to}
84 84
${cc}${bcc}Subject: $self->{subject}
85 85
Message-ID: <$msgid>
86
X-Mailer: SQL-Ledger $self->{version}
86
X-Mailer: Lx-Office $self->{version}
87 87
MIME-Version: 1.0
88 88
|;
89 89

  

Auch abrufbar als: Unified diff