title: Sending mail: java.net.SocketException: Network is unreachable: connect
body: <p>Try send mail via javax.mail:</p>
  
  <pre><code>Properties props = new Properties();
  props.put("mail.smtp.host", "xxxxx");
  props.put("mail.smtp.port", "25");
  props.put("mail.smtp.auth", "false");
  
  Session session = Session.getInstance(props,
    new javax.mail.Authenticator() {
      protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication("xx", "xx");
      }
    });
  
  try {
      Message message = new MimeMessage(session);
      message.setFrom(new InternetAddress("xxxxx"));
      message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("xxxxx"));
      message.setSubject("Subject");
      message.setText("Body");
  
      Transport.send(message);
  
      System.out.println("Done");
  
  } catch (MessagingException e) {
      throw new RuntimeException(e);
  }
  </code></pre>
  
  <p>It throw exception</p>
  
  <pre><code>Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: Could not connect to SMTP host: srv-mail.imb.invention.com, port: 25;
    nested exception is:
          java.net.SocketException: Network is unreachable: connect
          at foo.SendMailTest.main(SendMailTest.java:41)
  Caused by: javax.mail.MessagingException: Could not connect to SMTP host: xxx.xxxx.zzzzz.com, port: 25;
    nested exception is:
          java.net.SocketException: Network is unreachable: connect
          at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
          at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
          at javax.mail.Service.connect(Service.java:295)
          at javax.mail.Service.connect(Service.java:176)
          at javax.mail.Service.connect(Service.java:125)
          at javax.mail.Transport.send0(Transport.java:194)
          at javax.mail.Transport.send(Transport.java:124)
          at foo.SendMailTest.main(SendMailTest.java:36)
  Caused by: java.net.SocketException: Network is unreachable: connect
          at java.net.DualStackPlainSocketImpl.connect0(Native Method)
          at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
          at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
          at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
          at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
          at java.net.PlainSocketImpl.connect(Unknown Source)
          at java.net.SocksSocketImpl.connect(Unknown Source)
          at java.net.Socket.connect(Unknown Source)
          at java.net.Socket.connect(Unknown Source)
          at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:321)
          at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
          at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
          ... 7 more
  </code></pre>
  
  <p>Server available:</p>
  
  <pre><code>C:\work\test&gt;nc.exe xxx 25
  220 xxx.zzz.aaaaaaa.com Microsoft ESMTP MAIL Service ready at Thu, 12 Sep 2013 15:10:45 +0300
  </code></pre>
  
  <p>ping also work.</p>
  
  <p>Similar .net code work as expected.</p>
  
  <p>I have no ideas what going wrong....</p>