Java – Could Not convert socket to TLS


I am trying to send email using java servlets in eclipse IDE.
This is my Code.

    final String username = "******";
    final String password = "******";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("", "");
    props.put("mail.smtp.port", "587");
    props.put("", "smtpserver");

    Session session1 = Session.getInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);


            Message message = new MimeMessage(session1);
            message.setFrom(new InternetAddress("******"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email));

            message.setSubject("Welcome To Our Bank");
            message.setText("Dear "+custname+","
                    +"\n\n Your Account has been Created Successfully."
                    +"\n\n Your Account Details Are:"
                    +"\n   User Id : "+userid+""
                    +"\n   Account Number : "+accno+""
                    +"\n   Login Password : "+passwd+""
                    +"\n   Transaction Password : "+t_passwd+"");

            out.println("mail sent");
    catch(MessagingException e) 
        out.println("Exception Caught : "+e);

This is Exception That occur after Execution.

Exception Caught : javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is: Server is not trusted:

Best Solution

By setting "" to "smtpserver" you've said you only trust the server named "smtpserver". "" is not named "smtpserver".