Accéder au contenu.
Menu Sympa

fr - Re: Piece jointe dans les messages

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Aumont - Comite Reseaux des Universites <adresse@cachée>
  • To: Mikael Grave <adresse@cachée>
  • Cc: adresse@cachée
  • Subject: Re: Piece jointe dans les messages
  • Date: Wed, 03 Feb 1999 17:33:06 +0100

>
> J'ai deja eu ce probleme, mais uniquement avec des abonnes utilisant
> Outlook de Microsoft. J'ai du aller trafiquer le message recu a la main
> pour remettre des delimiteurs MIME. Je n'ai malheureusement pas garde ce
> message et ca m'arrive tres rarement, mais je pense qu'Outlook
^^^^^^^

Outlook : l'indice pour reproduire le PB. Outlook utilise des caractères
space dans le boundary. Sympa coupe le boundary et les séparations de
parties de corps ne sont plus reconnues par certains clients (exmh
traite malgrès tout correctement l'attachement !).

Ces la librairie perl Mail dans le module Header.pm qui
coupe les entêtes trop longues avec la convention de continuation de
ligne SMTP (des espaces en début de ligne). C'est elle qui est bugguée
du moins jusque dans la version 1.11, la 1.12 donne la même chose, bien que
la Release note face référence à une correction de pb avec les chaines
entre ".

En ajoutant une petite exception un peu crasse dans la procédure
_fold_line cela corrige le PB. Il y est surement possible de faire
mieux.

Serge Aumont

PS : j'aimerais bien que Mime interdise le space dans un boundary ce qui
permettrait de rendre responsable outlook de ce désagrément...



sub _fold_line
{
my($ln,$maxlen) = @_;

$maxlen = 20
if($maxlen < 20);

my $max = int($maxlen - 5); # 4 for leading spcs + 1 for [\,\;]
my $min = int($maxlen * 4 / 5) - 4;
my $ml = $maxlen;

$_[0] =~ s/\s*[\r\n]+\s*/ /og; # Compress any white space around a newline
$_[0] =~ s/\s*\Z/\n/so; # End line with a EOLN


return if $_[0] =~ /^From\s/io;

# never split boundary, outlouk use spaces in boundary feld then
# the boundary can be corrupted without the following exception
return if $_[0] =~ /boundary=/io;


if(length($_[0]) > $ml)
{
#Split the line up
# first bias towards splitting at a , or a ; >4/5 along the line
# next split a whitespace
# else we are looking at a single word and probably don't want to split
my $x = "";

...........






Archives gérées par MHonArc 2.6.19+.

Haut de le page