Tuesday 15 March 2011

security - Resolve the exception generated while sending email using javamail api from java swing -



security - Resolve the exception generated while sending email using javamail api from java swing -

i have written code sending email java swing using javamail api .

properties props = new properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); session session = session.getinstance(props,new javax.mail.authenticator() { @override protected passwordauthentication getpasswordauthentication() { homecoming new passwordauthentication(username, password); } }); seek { message message = new mimemessage(session); message.setfrom(new internetaddress("melbino1992@gmail.com")); message.setrecipients(message.recipienttype.to,internetaddress.parse("melbino1992@gmail.com")); message.setsubject("testing subject"); message.settext("hello"); mimebodypart messagebodypart; multipart multipart = new mimemultipart(); messagebodypart = new mimebodypart(); multipart.addbodypart(messagebodypart); message.setcontent(multipart); transport.send(message); system.out.println("sent mail"); } grab (exception e) { //system.out.println(e); e.printstacktrace(); } system.out.println("hello!!!!!!!!"); }

but shows exception javax.mail.messagingexception: not convert socket tls;

the stack trace follows

javax.mail.messagingexception: not convert socket tls; nested exception is: javax.net.ssl.sslhandshakeexception: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target @ com.sun.mail.smtp.smtptransport.starttls(smtptransport.java:1907) @ com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:666) @ javax.mail.service.connect(service.java:317) @ javax.mail.service.connect(service.java:176) @ javax.mail.service.connect(service.java:125) @ javax.mail.transport.send0(transport.java:194) @ javax.mail.transport.send(transport.java:124) @ workregistration.send.main(send.java:59) caused by: javax.net.ssl.sslhandshakeexception: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target @ sun.security.ssl.alerts.getsslexception(alerts.java:192) @ sun.security.ssl.sslsocketimpl.fatal(sslsocketimpl.java:1902) @ sun.security.ssl.handshaker.fatalse(handshaker.java:276) @ sun.security.ssl.handshaker.fatalse(handshaker.java:270) @ sun.security.ssl.clienthandshaker.servercertificate(clienthandshaker.java:1338) @ sun.security.ssl.clienthandshaker.processmessage(clienthandshaker.java:154) @ sun.security.ssl.handshaker.processloop(handshaker.java:868) @ sun.security.ssl.handshaker.process_record(handshaker.java:804) @ sun.security.ssl.sslsocketimpl.readrecord(sslsocketimpl.java:1032) @ sun.security.ssl.sslsocketimpl.performinitialhandshake(sslsocketimpl.java:1328) @ sun.security.ssl.sslsocketimpl.starthandshake(sslsocketimpl.java:1355) @ sun.security.ssl.sslsocketimpl.starthandshake(sslsocketimpl.java:1339) @ com.sun.mail.util.socketfetcher.configuresslsocket(socketfetcher.java:549) @ com.sun.mail.util.socketfetcher.starttls(socketfetcher.java:486) @ com.sun.mail.smtp.smtptransport.starttls(smtptransport.java:1902) ... 7 more caused by: sun.security.validator.validatorexception: pkix path building failed: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target @ sun.security.validator.pkixvalidator.dobuild(pkixvalidator.java:385) @ sun.security.validator.pkixvalidator.enginevalidate(pkixvalidator.java:292) @ sun.security.validator.validator.validate(validator.java:260) @ sun.security.ssl.x509trustmanagerimpl.validate(x509trustmanagerimpl.java:326) @ sun.security.ssl.x509trustmanagerimpl.checktrusted(x509trustmanagerimpl.java:231) @ sun.security.ssl.x509trustmanagerimpl.checkservertrusted(x509trustmanagerimpl.java:126) @ sun.security.ssl.clienthandshaker.servercertificate(clienthandshaker.java:1320) ... 17 more caused by: sun.security.provider.certpath.suncertpathbuilderexception: unable find valid certification path requested target @ sun.security.provider.certpath.suncertpathbuilder.enginebuild(suncertpathbuilder.java:196) @ java.security.cert.certpathbuilder.build(certpathbuilder.java:268) @ sun.security.validator.pkixvalidator.dobuild(pkixvalidator.java:380)

do this

props.put("mail.smtp.ssl.trust", "smtp.gmail.com");

if fails check firewall settings

java security email ssl

No comments:

Post a Comment