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

Android Discussion :

Problème de récupérer le corps du mail + pop3


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut Problème de récupérer le corps du mail + pop3
    bonjour ;

    je suis entrain de récupérer les différents champs d'un email, mais j'ai problème pour le corps du mail je ne peux pas le récupérer. voici mon code qui permet de récupérer le corps du mail:

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    	public    void dumpPart(Message message) throws Exception {
    			String TextBody="";
    		 path=null;
    		 bodytxt="vide";
    		 bodyhtml= "vide";
    		 System.out.println("Start Body");
     
    			//cas d'un message
     
    		    //cas d'un mimeMessage
    		    if (message instanceof MimeMessage) {
    		    	System.out.println("Massegae 1" + message.toString());
    		        MimeMessage mime = ((MimeMessage) message);
     
    		        System.out.println("Massegae 1" + mime.getContent());
    		        if (mime.getContent() instanceof MimeMultipart) {
    		            MimeMultipart content = (MimeMultipart) mime.getContent();                
    		            MimeBodyPart body;
    		            System.out.println("Massegae 2" + content.toString());
    		            for (int i = 0; i < content.getCount(); i++) {
    		                if (content.getBodyPart(i) instanceof MimeBodyPart) {
    		                    body = (MimeBodyPart) content.getBodyPart(i);
    		                    System.out.println("Massegae 3" + body.getContentType());  
    		                    if (body.getContentType().equals("text/plain")) {
    		                        TextBody+=(String) message.getContent();
    		                        System.out.println("Massegae 4" + TextBody);
    		                        bodytxt = TextBody ;
    		                    } else if (body.getContentType().equals("text/html")) {
    		                    	String ss;
    		                   // 	Log.i("msg",(String) message.getContent());
    		                    	BufferedReader in = new BufferedReader(new InputStreamReader(body.getInputStream()));
    		                        while ((ss = in.readLine()) != null) {
    		                            TextBody += ss + "\n";
    		                        }
    		                        bodyhtml = TextBody;
    		                        System.out.println("Massegae 5" + TextBody);
    		                    } else {
    		                    	   System.out.println("Massegae 6:attttt" );
    		                        String disp = body.getDisposition();                            
    		                        if (disp != null && disp.equalsIgnoreCase(body.ATTACHMENT)) {
    		                        	File f=new File("/sdcard/andsync/"+compte.getAddmail());
    		                        	f.mkdirs();
    		                        	InputStream is = body.getInputStream();
    		                            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("/sdcard/andsync/"+compte.getAddmail()+"/"+body.getFileName())));
    		                            byte[] buff = new byte[2048];
    		                            int ret = 0, count = 0;
    		                            while ((ret = is.read(buff)) > 0) {
    		                                bos.write(buff, 0, ret);
    		                                count += ret;
    		                            }
    		                            bos.close();
    		                            is.close();
    		                            path =path + "/sdcard/andsync/"+compte.getAddmail()+"/"+body.getFileName();
     
    		                            System.out.println("Massegae 7" + "Fin de creation");
    		                        } else {
    		                            String s;
    		                            BufferedReader in = new BufferedReader(new InputStreamReader(body.getInputStream()));
    		                            while ((s = in.readLine()) != null) {
    		                                TextBody += s + "\n";
    		                            }
    		                            System.out.println("Massegae 8" + TextBody);
    		                            //Log.i("msg",TextBody);
    		                            bodyhtml = TextBody;
    		                            in.close();
    		                        }
    		                    }
    		                }
     
    		            }
    		        }
     
    		    }
     
    		    String ct = message.getContentType();
     
    		    if (message.isMimeType("text/plain")) {
     
    		            TextBody +=(String)message.getContent();
    		            System.out.println("Massegae 9" + TextBody);
    		            bodytxt=TextBody;
     
    		    } else {
     
    		    } 
     
     
    		    System.out.println("END Body");
    		}

    ce code sur un projet java normal ça marche mais lorsque je l’intégré dans un projet ANDROID ne marche pas,

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    ce code sur un projet java normal ça marche mais lorsque je l’intégré dans un projet ANDROID ne marche pas,

    As tu une erreur généré par le compilateur ?

    Il y a pas mal de System.out.println , que te sors le logcat de l'application ?


    Merci.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut
    voici le message d'erreur dans LOGCAT

    java.lang.classcastexecption:com.sun.util.qpdecoderstream

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Tu as inclus la librairie dans ton projet "com.sun.util.qpdecoderstream" ?

    Vu le message d'erreur , le compilateur n'arrive pas à la trouver .

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut
    non mais si la problème revient de ça, pourquoi le code marche sur projet java normal ???

    comment ajouter cette librairie ??

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,
    pourquoi le code marche sur projet java normal ???
    Car sous android , nous n'avons pas la même VM , celle d'android s'appelle Dalvik.

    comment ajouter cette librairie ??
    Le fichier QPDecoderStream se trouve dans le package "com.sun.mail.util".

    Je ne sais pas ou tu l'appelles, mais on dirait que le chemin que tu as demandé est faux

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut
    j'ai ajouté cette librairie mais toujours ne marche pas,j'ai suivi ligne par ligne avec LOGCAT j'ai trouvé le problème dans cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      TextBody +=(String)message.getContent();

  8. #8
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    TextBody +=(String)message.getContent();
    Que te retourne comme type d'objet la fonction GetContent() ?

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut
    Object javax.mail.Part.getContent() throws IOException, MessagingException

    retourne Objet

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Par défaut
    message.getContent().toString() ???

Discussions similaires

  1. [OL-2010] Récupérer lien réseau dans corps du mail
    Par Speudyland dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 27/06/2013, 17h01
  2. Récupérer le corps d'un mail
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 07/02/2011, 01h03
  3. Récupérer le corps d'un e-mail
    Par p2w.walas dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2010, 11h31
  4. Réponses: 1
    Dernier message: 04/04/2008, 22h51
  5. Réponses: 12
    Dernier message: 25/06/2006, 23h24

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