2009-07-21 7 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 

Est-ce que quelqu'un peut m'aider à envoyer un courrier en utilisant l'API JavaMail en utilisant un proxy?javax.net.ssl.SSLException lors de l'envoi de courrier en utilisant JavaMail

+4

Je pense qu'il serait utile si vous postez le code que vous utilisez pour envoyer le courrier: D –

+0

Quel est le code qui déclenche cette exception? – kgiannakakis

+1

Que diriez-vous du code qui produit cette Stacktrace? –

Répondre

7

Je recevais la même exception lorsque vous essayez d'envoyer un courrier électronique via le serveur SMTP Hotmail à smtp.live.com. Voici les paramètres qui ont travaillé pour moi à la fin:

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

Si vous ne souhaitez pas utiliser SSL, et vous utilisez smtp au lieu de smtps essayer ces derniers paramètres

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

Andersen répondu, faire une connexion SSL (mail.smtp.ssl.enable=true) à un port non-SSL va lancer cette erreur.

Ceci est généralement causé par la connexion au mauvais port, autant de services de messagerie populaires utilisent le port 587 au lieu du port par défaut 465. Cela vaut pour GMail, Hotmail/Live Mail et Yahoo Mail.

Mon problème, cependant, est que Java Mail insiste sur l'utilisation de SSL même lorsque je mets SSL à false.

Après avoir tracé le code source, le problème est que j'ai utilisé Session.getDefaultInstance, copié à partir de certains exemples de code. Il crée uniquement une session avec les propriétés données lors du premier appel; Les appels de sous-séquence retourneront cette ancienne session, au lieu d'une nouvelle session.

En basculant vers Session.getInstance, assurez-vous d'utiliser les propriétés que je transmets et résolvez mon "message SSLException: message SSL non reconnu".