locked
PDF corrompus par l'envoi par mail RRS feed

  • Question

  •  

    Bonjour,

     

    Depuis une migration de notre serveur IIS de la version 5 à la version 6, une application .NET 1.1 qui envoie des fichiers PDF via la classe SmtpMail ne fonctionne plus correctement.

     

    Les fichiers PDF qui sont à la base bon, sont corrompus par l'envoi via SMTP.

     

    D'après mes recherches sur les newsgroups Microsoft, il semble qu'un bug de CDOSYS (Sur lequel repose la bibliothèque System.Web.Mail de .NET) soit à l'origine du problème :

     

    L'encodage en Base64 de la pièce jointe induirait une erreur lorsqu'il rencontre deux points successifs en les transformant en un seul point (caractère "."). Ceci se produisant dans des données binaires (images TIFF) incluses dans le document PDF, celui-ci est en partie illisible à l'arrivée. On peut ouvrir le fichier PDF, mais les images corrompues pendant le transfert par email ne sont pas affichées.

     

    Je suis étonné de voir que ce problème date de 2003, et qu'aucun correctif n'existe encore...

    J'ai vu que certaines personnes semblent contourner le problème en utilisant l'encodage UUEncode, mais ce n'est pas traiter le problème à la racine.

     

    vous pourrez trouver d'autres renseignements sur le problèmes sur les pages suivantes :

    http://systemwebmail.com/faq/4.4.8.aspx

     

    Vous pouvez aussi chercher "SmtpMail Problems" et "Email Attachments are corrupted" dans http://groups.google.fr/group/microsoft.public.dotnet.languages.vb?hl=fr

     

    Merci de votre aide.

    Sébastien
    • Déplacé Shrikant Maske jeudi 4 février 2010 05:57 Forums Consolidation (Origine :Windows Server 2003 – Internet Information Services)
    mardi 9 octobre 2007 16:15

Toutes les réponses

  • Bonjour,

     

    Nous avons trouvé deux solutions de contournement du bug :

     

    • Utilisation de l'encodage UUEncode au moment de la création de la pièce jointe : myAttachment = new MailAttachment( "nom_fichier_A_Attacher", MailEncoding.UUEncode)
    • Définir un message dans le corps de l'email résoud le problème de corruption de la pièce jointe. Autrement dit, la corruption du fichier joint ne se produit que lorsqu'il n'y a pas de texte dans le corps de l'email.

     

    En attendant une correction du bug par Microsoft, nous allons utiliser le deuxième contournement.

     

    Cordialement,

    Sébastien

    mercredi 10 octobre 2007 15:22