当前位置: 代码迷 >> J2SE >> javax.net.ssl.SSLException:   Unsupported   record  
  详细解决方案

javax.net.ssl.SSLException:   Unsupported   record  

热度:1091   发布时间:2016-04-24 14:26:32.0
javamail发送gmail邮件问题
try{
//Security.addProvider(new   com.sun.net.ssl.internal.ssl.Provider());
    String   SSL_FACTORY   =   "javax.net.ssl.SSLSocketFactory ";
    //   Get   a   Properties   object
    Properties   props   =   System.getProperties();
    props.setProperty( "mail.smtp.host ",   "smtp.gmail.com ");
    props.setProperty( "mail.smtp.socketFactory.class ",   SSL_FACTORY);
    props.setProperty( "mail.smtp.socketFactory.fallback ",   "false ");
    props.setProperty( "mail.smtp.port ",   "465 ");
    props.setProperty( "mail.smtp.socketFactory.port ",   "465 ");
    props.setProperty( "mail.smtp.auth ",   "true ");
    props.setProperty( "mail.smtp.ssl ",     "true ");
    //props.put( "mail.smtp.user ", "hombreelk ");
    //props.put( "mail.smtp.password ", "hombre123 ");


    final   String   username   =   "wahaha1982 ";
    final   String   password   =   "wahaha123 ";
    Session   session   =   Session.getDefaultInstance(props,   new   Authenticator(){
            protected   PasswordAuthentication   getPasswordAuthentication()   {
                    return   new   PasswordAuthentication(username,   password);
            }});

              //   --   Create   a   new   message   --
    Message   msg   =   new   MimeMessage(session);

    //   --   Set   the   FROM   and   TO   fields   --
    msg.setFrom(new   InternetAddress(username   +   "@gmail.com "));
    msg.setRecipients(Message.RecipientType.TO,  
        InternetAddress.parse( "hjh1982@gmail.com ",false));
    msg.setSubject( "Hello ");
    msg.setText( "How   are   you ");
    msg.setSentDate(new   java.util.Date());
    Transport.send(msg);
   
    System.out.println( "Message   sent. ");
}catch(Exception   ex)
{
ex.printStackTrace();
}


用这段程序可以将邮件发送出去,但是报下面的异常:
javax.mail.MessagingException:   Exception   reading   response;
    nested   exception   is:
javax.net.ssl.SSLException:   Unsupported   record   version   Unknown-50.49
at   com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1598)
at   com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:685)
at   javax.mail.Transport.send0(Transport.java:171)
at   javax.mail.Transport.send(Transport.java:98)
at   cn.handinfo.mail.impl.MailServiceImpl.main(MailServiceImpl.java:473)
Caused   by:   javax.net.ssl.SSLException:   Unsupported   record   version   Unknown-50.49
at   com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(Unknown   Source)
at   com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown   Source)
  相关解决方案