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

Java Discussion :

code source JavaMail


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Par défaut code source JavaMail
    Bonjour ;
    je recherche des codes source pour lire le parti "text/plain" d'un e-mail de type "Multipart/*", je réussi de lire et de télécharger le partie attachement (image,document word...)
    et voila mon code :

    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
    public static void parsemessage(Message message) throws MessagingException, IOException {
          System.out.println( "<"+message.getFrom()[0] + "> " + message.getSubject()  );
          Multipart multipart = (Multipart)message.getContent();
          System.out.println("     > Message has "+multipart.getCount()+" multipart elements");
            for (int j = 0; j < multipart.getCount(); j++) {
                BodyPart bodyPart = multipart.getBodyPart(j);
     
     
                if(!Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition())) {
                    if (bodyPart.getContent().getClass().equals(MimeMultipart.class)) {
                        MimeMultipart mimemultipart = (MimeMultipart)bodyPart.getContent();
                        System.out.println("Number of embedded multiparts "+mimemultipart.getCount());
                        for (int k=0;k<mimemultipart.getCount();k++) {
                            if (mimemultipart.getBodyPart(k).getFileName() != null) {
     
                                System.out.println("     > Creating file with name : "+mimemultipart.getBodyPart(k).getFileName());
                                savefile(mimemultipart.getBodyPart(k).getFileName(), mimemultipart.getBodyPart(k).getInputStream());
                            }
     
     
     
                        }
                    }
                  continue;
                }
     
                  System.out.println("     > Creating file with name : "+bodyPart.getFileName());
    //appeler le classe savefile pour enregistrer le fichier
                savefile(bodyPart.getFileName(), bodyPart.getInputStream());
     
     
            }
        }

    j’attends vos aides le plutôt possible
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    utiliser instance of plutot que cette horreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (bodyPart.getContent().getClass().equals(MimeMultipart.class))
    ->

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (bodyPart.getContent() instanceof MimeMultipart)
    Ensuite pour lire le text/plain, bien a priori il se trouve dans les bodypart que vous ignorez car vous ne lisez que les attachements avec votre if.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Par défaut
    Merci pour votre réponse mais j'aime de me donner un exemple de code pour lire ce partie
    svp c'est urgent
    Merci beaucoup d'avance

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu caste ton bodypart en MimeBodyPart, tu vérifie son content-type et tu le compare à la valeur recherchée (ici "text/plain")

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Par défaut
    Merci beaucoup pour vos réponses c'est très gentil
    voila ce que je fais mais il affiche une erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      else if (!Part.INLINE.equalsIgnoreCase(bodyPart.getDisposition()))
                {
                  MimeMultipart mimemultipart = (MimeMultipart)bodyPart.getContent();
                   System.out.println("Number of embedded multiparts "+mimemultipart.getCount());
                        for (int k=0;k<mimemultipart.getCount();k++) {
                            if (mimemultipart.getBodyPart(k).getContent() != null) {
     
                                System.out.println("  message texte est  "+mimemultipart.getBodyPart(k).getContent() );
     
                            }
                        }
                }

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour,
    tu devrais dire/montrer ce qu'est l'erreur ...
    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

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

Discussions similaires

  1. Contribuez à la FAQ et aux CODES SOURCE XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 21/04/2008, 20h52
  2. code source de netstat
    Par calif dans le forum Développement
    Réponses: 3
    Dernier message: 28/09/2003, 08h39
  3. Defragmenteur code-source
    Par ak-k dans le forum Windows
    Réponses: 7
    Dernier message: 25/08/2003, 14h36
  4. Je cherche le code-source d'un interface de Windows
    Par Robert A. dans le forum Windows
    Réponses: 5
    Dernier message: 02/06/2003, 09h45
  5. [VB6] Code source pour modifier MsgBox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2003, 15h13

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