|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
[java] javamail e listener
ciao amici,
sono riuscito a costruire un tool per ricevere e inviare email. Sto usando java mail. Il sistema mi serve per monitorare automaticamente la casella della posta. Ho trovato su internet il seguente listener che si attacca al folder: Codice:
folder.addMessageCountListener(new MessageCountAdapter() {
public void messagesAdded(MessageCountEvent ev) {
Message[] msgs = ev.getMessages();
System.out.println("Ci sono " + msgs.length + " nuovi messaggi");
// Just dump out the new messages
for (int i = 0; i < msgs.length; i++) {
try {
DataHandler dh = msgs[i].getDataHandler();
InputStream is = dh.getInputStream();
int c;
while ((c = is.read()) != -1)
System.out.write(c);
} catch (IOException ioex) {
ioex.printStackTrace();
} catch (MessagingException mex) {
mex.printStackTrace();
}
}//fine for
}//fine messagesAdded
});
mentre scarica le email provo a mandare un'altra, ma non se ne accorge nè durante, nè dopo lo scaricamento delle mail. doce sbaglio?
__________________
Nunc est bibendum |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Monza
Messaggi: 598
|
provo a spiegarmi meglio:
utilizzo il seguente codice per ottenere un'istanza di folder che contiene in pratica tutti i messaggi della casella di posta. Codice:
import java.io.*;
import java.net.*;
import java.util.*;
import javax.mail.*;
import javax.mail.event.*;
import javax.activation.*;
.....
.....
.....
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect("quicimettoilpop3","quicimettousername","quicimettoopass");
folder = store.getFolder("INBOX"]);
folder.open(Folder.READ_WRITE);
int numero_email=folder.getMessageCount();
....
.....
Il problema è come accorgersi, dopo aver richiamato il suddetto codice, che ci sono nuovi messaggi. La mia idea era quella di controllare con un listener il numero di messaggi presenti, nn appena aumenta si va a prendere il nuovo messaggio. Ho provato ad usare qualche while, ma i risultati sono inesistenti o deleteri. grazie a chi vorrà aiutarmi
__________________
Nunc est bibendum Ultima modifica di gaglioppo : 25-02-2006 alle 22:06. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:34.


















