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 :

Lecture du contenu d'un objet javax.mail.internet.MimeMultipart


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut Lecture du contenu d'un objet javax.mail.internet.MimeMultipart
    Salut à tous ...
    J'ai une application java(dont je ne connais pas le code) et dont le rôle et de faire une écoute sur une boite mail et d'en extraire les mail reçus. En sortie de cette application je récupère un objet de type : javax.mail.internet.MimeMultipart (C'est ce qui est affiché quand je fais un println de l'objet)..
    Le pb c'est que je ne sais pas comment récupérer les différentes composantes du mail ( Objet , Emetteur , Corps du message ) j'ai essayé avec la méthode de ce même objet getBodyPart(0) mais j'ai une Exception de type MessagingException.
    Si qqun peut m'aider même avec un début de solution ou des indications pour mieux comprendre comment fonctionne globalement l'api mail .. Merci d'avance..

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    je te comprends, c'est vraiment le souk cette API
    Voila des fonctions qui devrait t'aider à voir un peu comment ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    public void processMessage(Message m) {
         try {
     
    	  Multipart mpart = (Multipart) m.getContent();
    	  print("Traitement du mail et des ses pieces jointes :\n\n");
              int lim = mpart.getCount();
    	  for(int j = 0; j < lim; j++) {
             	BodyPart body = mpart.getBodyPart(j);
     
    		print("content-type ["+j+"] : "+body.getContentType());
    		print("content-size ["+j+"] : "+body.getSize()+" bytes");
     
    		if(body.isMimeType("text/plain")) {
    			processPlainText(body);
    		}
    		else if(body.isMimeType("Multipart/*")) {
    			processMultipart(body);
    		}					
    		else if(body.getContentType().contains("ms-tnef")) {
    			processTNEF(mpart);
    		}
    	}
    	catch(MessagingException exc) {
    	  System.err.println("Erreur <processMessage> : "+exc);
    	}
    	catch(IOException exc) {
    	  System.err.println("Erreur <processMessage> : "+exc);
    	}
    }
    A remplacer : print par System.out.println
    La fonction d'ouverture d'une pièce jointe multipart/*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public void processMultipart(BodyPart body) {
      try {
    	Multipart mp = (Multipart) body.getContent();
     
    	for(int i = 0, n = mp.getCount(); i < n; i++) {
    		Object o = body.getContent();
     
    		if(o instanceof InputStream) {
    			print("\nMultipart/*");
    			InputStream is = (InputStream) o;
    			FileWriter os = new FileWriter(mailTmpPath+separator+
    										   separator+
    										  body.getFileName());
    			int c = 0;
     
    			while((c = is.read()) != -1) {
    				os.write((char) c);
    			}
     
    			is.close();
    			os.close();
    		}
    	}
     }
     catch(IOException exc) {
    	printErr("Erreur <processMultipart> : "+exc);
     }
     catch(MessagingException exc) {
            printErr("Erreur <processMultipart> : "+exc);
     }
    }

  3. #3
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut
    Merci .. ça marche ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/08/2008, 12h13
  2. [javax.mail] envoi à plusieurs destinataires
    Par michaelbob dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 29/05/2006, 12h41
  3. [VB6] Impression du contenu de l'objet WebBrowser
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/05/2006, 11h10
  4. Accès aux valeurs contenues dans un objet
    Par WalidNat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/05/2006, 17h26
  5. Réponses: 45
    Dernier message: 04/05/2006, 01h10

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