2009-07-21 12 views
22
javax.mail.MessagingException: Exception reading response; 
    nested exception is: 
     javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
     at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1764) 
     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1523) 
     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:453) 
     at javax.mail.Service.connect(Service.java:313) 
     at javax.mail.Service.connect(Service.java:172) 
     at javax.mail.Service.connect(Service.java:121) 
     at javax.mail.Transport.send0(Transport.java:190) 
     at javax.mail.Transport.send(Transport.java:120) 
     at javaapplication5.SendMail.send(SendMail.java:77) 
     at javaapplication5.SendMailTest.main(SendMailTest.java:17) 
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 
     at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523) 
     at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355) 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789) 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112) 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:744) 
     at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) 
     at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:106) 
     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
     at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
     at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:84) 
     at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1742) 
     ... 9 more 

Qualcuno può aiutarmi a inviare una mail utilizzando JavaMail API utilizzando proxy?javax.net.ssl.SSLException durante l'invio di posta elettronica utilizzando JavaMail

+4

Penso che sarebbe utile se si pubblica il codice che si sta utilizzando per inviare la posta: D –

+0

Qual è il codice che genera questa eccezione? – kgiannakakis

+1

Che ne dici di un codice che produce questo Stacktrace? –

risposta

7

mi è stato sempre la stessa eccezione quando si tenta di inviare e-mail tramite il server SMTP di Hotmail a smtp.live.com. Qui ci sono le impostazioni che ha lavorato per me alla fine:

mail.smtp.starttls.enable=true 
mail.smtp.port=587 
2

Se non si desidera utilizzare SSL, e si sta utilizzando SMTP invece di SMTPS provare queste impostazioni

mail.smtp.starttls.enable=false 
mail.transport.protocol=smtp 
1

Come Andersen ha risposto, facendo una connessione SSL (mail.smtp.ssl.enable=true) a una porta non SSL genererà questo errore.

Questo è comunemente causato dal collegamento alla porta sbagliata, come molti servizi di posta popolari usano porta 587 invece di porta di default SMTPS 465. Questo vale per GMail, Hotmail/Live Mail e Yahoo Mail.

Il mio problema, tuttavia, è che Java Mail insiste sull'uso di SSL anche quando ho impostato ssl su false.

Dopo aver tracciato il codice sorgente, il problema è che ho usato Session.getDefaultInstance, copiato da qualche codice di esempio. Crea solo una sessione con le proprietà specificate alla prima chiamata; le chiamate di sottosequenza restituiranno quella sessione precedente, invece di una nuova sessione.

Passare a Session.getInstance assicurandosi che utilizzi le proprietà passate e risolto il mio messaggio "SSLException: Unrecognized SSL".

Problemi correlati