title: "Exception reading response" error trying to send mail in java
body: <p>Here is a little code to send email from java.</p>
  
  <pre><code>public static void sendMail(){
      Properties props = new Properties();
      props.put("mail.smtp.auth", "true");
      props.put("mail.smtp.host", "mail.domain.tld");
      props.put("mail.smtp.debug", "true");
              Session session = Session.getInstance(props,
        new javax.mail.Authenticator() {
          protected PasswordAuthentication getPasswordAuthentication() {
              return new PasswordAuthentication("sender@domain.tdl", "pwd");
          }
        });
      try {
          Message message = new MimeMessage(session);
          message.setFrom(new InternetAddress("sender@domain.tdl"));
          message.setRecipients(Message.RecipientType.TO,
              InternetAddress.parse("receiver@yahoo.fr"));
          message.setSubject("Testing Subject");
          message.setContent("This is a test &lt;b&gt;HOWTO&lt;b&gt;", "text/html; charset=ISO-8859-1");
          Transport.send(message);
          System.out.println("Done");
      } catch (MessagingException e) {
          throw new RuntimeException(e);
      }
  }
  </code></pre>
  
  <p>But running it I have this error</p>
  
  <pre><code>Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: Exception reading response;
    nested exception is:
      java.net.SocketException: Software caused connection abort: recv failed
      at Test.main(Test.java:112)
  Caused by: javax.mail.MessagingException: Exception reading response;
    nested exception is:
      java.net.SocketException: Software caused connection abort: recv failed
      at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2445)
      at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:2307)
      at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2340)
      at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1808)
      at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1285)
      at javax.mail.Transport.send0(Transport.java:255)
      at javax.mail.Transport.send(Transport.java:124)
      at Test.main(Test.java:107)
  Caused by: java.net.SocketException: Software caused connection abort: recv failed
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(SocketInputStream.java:152)
      at java.net.SocketInputStream.read(SocketInputStream.java:122)
      at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:126)
      at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
      at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:104)
      at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2425)
      ... 7 more
  </code></pre>
  
  <p>I don't understand the reason of the error because this code worked for me in the past.
  Here is the jars I'm using:</p>
  
  <ul>
  <li>dsn-1.6.0</li>
  <li>gimap-1.6.0</li>
  <li>imap-1.6.0</li>
  <li>javax.mail-1.6.0</li>
  <li>javax.mail-api-1.6.0</li>
  <li>logging-mailhandler-1.6.0</li>
  <li>mailapi-1.6.0</li>
  <li>pop3-1.6.0</li>
  <li>smtp-1.6.0</li>
  </ul>
  
  <p>After modification asked by @Bill, here is the new error I have</p>
  
  <pre><code>Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: Could not connect to SMTP host: mail.hereka.org, port: 25;
    nested exception is:
      javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
      at Test.main(Test.java:134)
  Caused by: javax.mail.MessagingException: Could not connect to SMTP host: mail.hereka.org, port: 25;
    nested exception is:
      javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2196)
      at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:726)
      at javax.mail.Service.connect(Service.java:366)
      at javax.mail.Service.connect(Service.java:246)
      at javax.mail.Service.connect(Service.java:267)
      at javax.mail.Transport.send0(Transport.java:252)
      at javax.mail.Transport.send(Transport.java:174)
      at Test.main(Test.java:130)
  Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
      at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:671)
      at sun.security.ssl.InputRecord.read(InputRecord.java:504)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
      at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:619)
      at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:393)
      at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2160)
      ... 7 more
  </code></pre>
  
  <p>But if I remove the ssl property this is the new error</p>
  
  <pre><code>Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: Exception reading response;
    nested exception is:
      java.net.SocketException: Software caused connection abort: recv failed
      at Test.main(Test.java:134)
  Caused by: javax.mail.MessagingException: Exception reading response;
    nested exception is:
      java.net.SocketException: Software caused connection abort: recv failed
      at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2445)
      at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:2307)
      at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2340)
      at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1808)
      at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1285)
      at javax.mail.Transport.send0(Transport.java:255)
      at javax.mail.Transport.send(Transport.java:174)
      at Test.main(Test.java:130)
  Caused by: java.net.SocketException: Software caused connection abort: recv failed
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.read(SocketInputStream.java:152)
      at java.net.SocketInputStream.read(SocketInputStream.java:122)
      at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:126)
      at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
      at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:104)
      at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2425)
      ... 7 more
  </code></pre>
  
  <p>Thanks </p>