2009-07-21 10 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 
का उपयोग कर भेजने

किसी को भी मेरी मदद कर सकते एक मेल JavaMail एपीआई का उपयोग कर प्रॉक्सी का उपयोग कर भेजने के लिए?javax.net.ssl.SSLException जब मेल JavaMail

+4

मुझे लगता है कि अगर आप मेल भेजने के लिए उपयोग कर रहे कोड को पोस्ट करते हैं तो यह सहायक होगा: डी –

+0

इस अपवाद को फेंकने वाला कोड क्या है? – kgiannakakis

+1

इस कोड को उत्पन्न करने वाले कुछ कोड के बारे में कैसे? –

उत्तर

7

जब smtp.live.com पर हॉटमेल एसएमटीपी सर्वर के माध्यम से ईमेल भेजने की कोशिश कर मैं एक ही अपवाद हो रही थी:

आप जीमेल के माध्यम से मेल भेजने के लिए चाहते हैं, तो सामान्य प्रश्न देखें। यहां वे सेटिंग है कि अंत में मेरे लिए काम किया हैं:

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

आप SSL का उपयोग नहीं करना चाहते हैं, तो इन सेटिंग्स का प्रयास करें, और आप smtps के बजाय smtp का उपयोग कर रहे

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

एंडरसन के रूप में उत्तर दिया, एक एसएसएल कनेक्शन (mail.smtp.ssl.enable=true) एक गैर-एसएसएल पोर्ट में करने से यह त्रुटि फेंक जाएगी।

यह आमतौर पर गलत पोर्ट से कनेक्ट होने के कारण होता है, के रूप में कई लोकप्रिय मेल सेवाओं पोर्ट 587 के बजाय डिफ़ॉल्ट smtps बंदरगाह 465 यह GMail पर लागू होता है, Hotmail/Live Mail, और Yahoo Mail का उपयोग करें।

मेरी समस्या यह है कि जावा मेल एसएसएल का उपयोग करने पर जोर देता है जब भी मैं एसएसएल को झूठी सेट करता हूं।

स्रोत कोड का पता लगाने के बाद, समस्या यह है कि मैंने Session.getDefaultInstance का उपयोग किया, कुछ उदाहरण कोड से कॉपी किया गया। यह केवल पहले कॉल पर दिए गए गुणों के साथ एक सत्र बनाता है; बाद के कॉल नए सत्र की बजाय उस पुराने सत्र को वापस कर देंगे।

Session.getInstance पर स्विच करना सुनिश्चित करें कि यह मेरे द्वारा पारित गुणों का उपयोग करता है, और मेरा "एसएसएलएक्सप्शन: अपरिचित एसएसएल संदेश" हल करता है।

संबंधित मुद्दे