IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[javamail]format pièce jointe


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut [javamail]format pièce jointe
    Bonjour à tous,

    j'ai un soucis avec ma pièce jointe envoyé via javamail.

    J'arrive à envoyer un mail, la pièce jointe est bien transmise également mais j'ai un problème de format.

    Je m'explique, j'ai une application qui génère un fichier csv dans un environnement linux. Ce fichier est ensuite envoyé via javamail. J'ai une autre application qui recupère ce même fichier, et qui l'envoi ensuite par mail pour assurer un backup. Cette seconde application est, elle, sous windows.

    Mon problème est que le fichier envoyé via javamail est au format DOS et celui envoyé par la seconde application au format UNIX. La seule diffèrence étant a priori le caractère de fin de ligne. (non non je ne me trompe pas, le fichier envoyé depuis linux est au format dos et celui depuis windows au format UNIX)

    Cette seconde information me fait dire que le fichier est bien généré au format UNIX.

    Avez-vous déjà rencontré ce type de problème? Avez-vous une idée ?

    Merci

  2. #2
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Bizarre ton problème.

    Tu devrais utiliser notepad++ pour vérifier le format de fin de ligne. A mon avis ton fichier généré sur ta plateforme UNIX doit terminer les lignes avec des LF au lieu des CRLF sur windows.

    Tu devrais aussi vérifier le content-type utilisé par Javamail pour transmettre ta pièce jointe. Comme c'est du texte c'est peut être interprété comme du text-plain. L'encodage en B64 des pièces jointes devrait conserver les données intactes.

    Une solution sinon serait de zipper ta pièce jointe au départ de ta plateforme unix et pareil sur ta plateforme windows. Là yaura aucune ambiguité pour Javamail.

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    OK merci pour ces infos,


    Tu devrais utiliser notepad++ pour vérifier le format de fin de ligne. A mon avis ton fichier généré sur ta plateforme UNIX doit terminer les lignes avec des LF au lieu des CRLF sur windows.
    C'est exactement ça la différence entre les deux fichiers, pourtant à la base c'est le même fichier. Le transfert du fichier peut provoquer sa modification?

    Je vais voir pour le zipper, ça peut effectivement résoudre le problème.

    Merci.

  4. #4
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    C'est exactement ça la différence entre les deux fichiers, pourtant à la base c'est le même fichier. Le transfert du fichier peut provoquer sa modification?
    Non c'est le système.

    Tu es sur une station UNIX et tu crées un CSV. Donc le système te crée des sauts de lignes composés par LF. C'est normal. Lorsque ton fichier arrive sur Windows, tu dois manuellement faire la conversion.

    Sous notepad++ il te suffit de cliquer sur le menu Format puis "Convertir en format Windows" et tu auras tes CRLF.

  5. #5
    Membre expérimenté
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Tu es sur une station UNIX et tu crées un CSV. Donc le système te crée des sauts de lignes composés par LF. C'est normal. Lorsque ton fichier arrive sur Windows, tu dois manuellement faire la conversion.

    C'est bien la le probleme. Mon appli tourne sous linux et génère le fichier csv. Elle envois ensuite le mail via javamail au destinataire et à l'arrivé ce fichier est au format DOS.

    C'est le fichier qui est envoyé via windows qui est lui a l'arrivée au format UNIX. C'est pour ca que je pense que le fichier est bien généré au format UNIX mais qu'il est transformé ensuite...
    C'est quand même fou qu'un fichier généré sous linux, envoyé via une appli sous linux et reçut dans une boite mail sous linux soit au format DOS.

    Le changement de format n'a rien changé...Je vais voir avec le client pour me rabattre sur du zip.

    Merci de porter un intérêt à mon problième.

  6. #6
    Membre expérimenté
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Bonjour,

    je viens de changer tout mon code, je passe maintenant par la libraire http://commons.apache.org/email/ qui est une surcouche de javamail.
    L'envoi de mail se fait toujours parfaitement bien, la pièce jointe est jointe mais l'envoi du fichier la modifie semble t-il.

    le fichier generé sur linux au format linux arrive ds la boite de reception au format DOS...

    L'utilisation d'un zip pour contourner le problème n'est pas possible...

    Quelqu'un à une idée?

Discussions similaires

  1. [JavaMail] Envoi de pièce jointe
    Par log2n dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 08/11/2013, 09h34
  2. [Javamail] Lecture pièce jointe, content-type: Application/octet-stream
    Par rtsKyo dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/06/2013, 17h56
  3. JavaMail + plusieurs pièces jointes
    Par franfr57 dans le forum Général Java
    Réponses: 1
    Dernier message: 16/04/2008, 15h40
  4. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  5. [JavaMail] Pièces Jointes dans Outlook
    Par Bartuk dans le forum API standards et tierces
    Réponses: 21
    Dernier message: 05/04/2006, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo