2015-06-03 13 views
6

Sto usando il seguente codice per convalidare una e-mail in modo programmatico.java mail store tipo "imap" vs "imaps"

Properties properties = new Properties(); 
Session emailSession = Session.getDefaultInstance(properties); 
Store store = emailSession.getStore("imap"); 

store.connect(host, user, password); 
if(store.isConnected()){ 
     System.out.println("true"); 
} 

attualmente viene generata un'eccezione

javax.mail.MessagingException: Connection dropped by server?; 
nested exception is: 
java.io.IOException: Connection dropped by server? 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670) 
at javax.mail.Service.connect(Service.java:295) 
at javax.mail.Service.connect(Service.java:176) 
at com.**.channel.type.IMAPValidator.fetch(IMAPValidator.java:23) 
at com.**.channel.type.IMAPValidator.main(IMAPValidator.java:47) 

Tuttavia, se io uso

emailSession.getStore("imaps"); 

poi si connette con successo al server IMAP di Yahoo.

Quello che so "imaps" sta per "sicuro".

Quello che non so è perché non posso semplicemente usare "imap"?

+1

Forse Yahoo vieta connessioni non sicure. – immibis

+0

leggi l'ultima risposta di questo post http://www.linuxquestions.org/questions/linux-server-73/imap-or-imaps-875240/ – SpringLearner

+0

leggi il post..ma non risponde alla mia domanda. Ho provato questo "imap" per entrambi i server yahoo e gmail. Se entrambi hanno vietato la connessione non protetta, dovrebbe esserci qualche documentazione o blog a riguardo. –

risposta