Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [java] e-mail

  1. #1
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491

    [java] e-mail

    Ho un problema scrivendo un programma che legge la posta elettronica da un server pop3. Riesco a scaricare i messaggi dal sever, a visualizzare mittente e subject...quando cerco di visualizzare il testo perō c'č un problema per alcuni mess.
    Nel caso il messaggio sia di tipo text/plain visualizzo tutto ok, per alcuni messaggi invecevisualizzo una cosa del tipo:

    javax.mail.MimeMultipart@554d32

    il mio codice č:
    codice:
      Messagge messaggio;
      //.....
      //scarico il messaggio..... 
      //.....
      testo.setText(messaggio.getContent().toString());}
    Ora mi pare di aver capito che il problema sia che alcuni messaggi sono di tipo Mime ma come li visualizzo?
    E come li posso riconoscere?
    Ogni minimo aiuto č benvenuto
    Grazie
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    senza compilatore quindi se metto errori :gren:
    if (messaggio instanceof MimeMultipart) {
    MimeMultipart parts = (MimeMultipart)messaggio;
    BodyPart body;
    for (int i=0; i<partsgetCount(); i++) {
    body = parts.getBodyPart(i);
    System.out.println(body.getContent());
    try {
    MimeBodyPart mimePart = (MimeBodyPart)body;
    }
    catch (Exception ex) {}
    }
    }
    nel try puoi vedere i metodi della classe non astratta MimeBodyPart per vedere se la part č testo o un file

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Il compilatore non mi permette di fare la conversione
    MimeMultipart parts = (MimeMultipart)messaggio;

    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ho modificato il mio codice in questo modo:

    codice:
    if(messaggio.getContentType().startsWith("multipart")){
       System.out.println("MIME");
       MimeMessage m = (MimeMessage) messaggio;
       MimeMultipart parts = new MimeMultipart(m.toString());
       BodyPart body;
       for (int i=0; i<parts.getCount(); i++) { 
          body = parts.getBodyPart(i); 
          testo.setText(body.getContent().toString());
          }                
    }      
    else{testo.setText(messaggio.getContent().toString();}
    Lo compila, riconosce le mail MIME, ma non riesco a visualizzarne il contenuto...forse perchč non conosco bene come funzionano queste MimeMultipart
    Potresti spiegarmi meglio?

    Grazie
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  5. #5
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    A MimeMultipart is obtained from a MimePart whose primary type is "multipart" (by invoking the part's getContent() method) or it can be created by a client as part of creating a new MimeMessage

    non puoi fare un MimeMultipart con new e passargli una stringa
    devi arrivarci dal messaggio
    body = parts.getBodyPart(i);
    MimeBodyPart mimePart = (MimeBodyPart)body;

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    26
    A proposito di questi problemi...
    Io avrei bisogno di prendere tutta la mail..intestazioni e cose varie...coem posso fare??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.