Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    java download allegati javaxmail

    salve a tutti ragazzi ..
    girovagando un pò sulla rete ho trovato una classe che permette di scaricare un allegato con il relativo messaggio grazie all'utilizzo dell'api javaxmail..
    posto il codice
    codice:
    import java.io.*;
    import java.util.*;
    
    import javax.mail.*;
    import javax.mail.internet.*;
    
    public class RicezioneMultipart {
    private static String pop ="in.alice.it";//mio pop3
    private static String user ="miouser";
    private static String pass ="miapass";
    public static void main(String args[]) {
    
    try {
    Properties props = System.getProperties();
    Session session = Session.getDefaultInstance(props, null);
    
    Store store = session.getStore("pop3");
    store.connect(pop, user, pass);
    
    Folder folder = store.getDefaultFolder();
    if (folder != null) {
    
    folder = folder.getFolder("INBOX");
    if (folder != null) {
    folder.open(Folder.READ_ONLY);
    
    Message[] elencoMessaggi = folder.getMessages();
    for (int indice = 0; indice < elencoMessaggi.length; indice++) {
    Message messaggio = elencoMessaggi[ indice ];
    
    InternetAddress fromAddress = (InternetAddress)messaggio.getFrom()[0];
    String from = fromAddress.getPersonal();
    if( from == null ) {
    from = fromAddress.toString();
    }
    
    System.out.println( "----------------------------------------" );
    System.out.println(
    "DA:" + from +
    " OGGETTO: " + messaggio.getSubject() +
    " DATA: " + messaggio.getSentDate() +
    "\n"
    );
    
    stampaMessaggio( messaggio );
    }
    
    folder.close(false);
    } else {
    System.out.println( "Folder non trovato" );
    }
    } else {
    System.out.println( "Folder di default non trovato" );
    }
    store.close();
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }
    
    static void stampaMessaggio( Message msg ) throws MessagingException, IOException {
    Part msgPart = msg;
    Object contenuto = msgPart.getContent();
    if( contenuto instanceof Multipart ) {
    Multipart mp = (Multipart)contenuto;
    
    for( int i=0; i<mp.getCount(); i++ ) {
    stampaParte( mp.getBodyPart(i), i );
    }
    }
    }
    
    static void stampaParte( Part parte, int count ) throws MessagingException, IOException {
    String contentType = parte.getContentType();
    
    System.out.println( "Disposizione: " + parte.getDisposition() );
    System.out.println( "Testo: " );
    
    if( contentType.startsWith("text/plain") ) {
    
    InputStream in = parte.getInputStream();
    BufferedReader reader = new BufferedReader(
    new InputStreamReader( in )
    );
    
    do {
    String linea = reader.readLine();
    if( linea == null ) {
    break;
    }
    
    System.out.println( linea );
    } while( true );
    
    reader.close();
    in.close();
    
    } else {
    
    String filename = parte.getFileName();
    if( filename == null ) {
    filename = "allegato" + count + ".bin";
    }
    FileOutputStream writer = new FileOutputStream( filename );
    
    byte[] buffer = new byte[ 4096 ];
    InputStream in = parte.getInputStream();
    
    while( true ) {
    int readed = in.read( buffer );
    if( readed == -1 ) {
    break;
    }
    
    writer.write( buffer, 0, readed );
    }
    
    writer.close();
    in.close();
    
    System.out.println("Salvato il file " + filename );
    }
    }
    
    }
    tutto funziona perfettamente solo che ho 2 problemi da risolvere
    il primo è che l'allegato mi viene scaricato ma se per es il mio allegato è una jpg mi ritrovo scaricato un allegato .bin credo binario...
    adesso vorrei sapere devo vonvertire questo file scaricato in qualche modo per portarlo alla sua forma originale.. se si come?oppure sbaglio il metodo per scaricare?
    inoltre sul mio indirizzo email sicuramente mi trovo varie email con vari allegati
    come faccio a scaricare solo gli allegati che provengono da un determinato indirizzo per es
    voglio scaricare tutte le mail con allegati di pippo@pippo.it e le altre mail non mi interessano?
    ragazzi vi chiedo un sincero aiuto poichè devo finire un software al più presto e sono in difficoltà
    ciao e grazie in anticipo

  2. #2
    ragazzi nessuno sa aiutarmi?

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.