title: Mail Sending fails with SMTP fails to connect
body: <p>I am trying to send a mail using the below program but I am getting the following error message.</p>
  
  <pre><code>             public class SMTPTest {
      //private Logger log = Logger.getLogger(this.getClass());
  
      public boolean sendSimpleMail(String to, String subject, String body) {
          Properties props = new Properties();
          props.put("mail.smtp.user", "amrita_test");
          props.put("mail.smtp.password", "aview");
          props.put("mail.smtp.host", "192.168.0.25");
          props.put("mail.smtp.port", "25");
          props.put("mail.smtp.starttls.enable", "true");
          props.put("mail.smtp.auth", "true");
          // props.put("mail.smtp.debug", "true");
          props.put("mail.smtp.debug", "false");
          props.put("mail.smtp.socketFactory.port", "425");
          props.put("mail.smtp.socketFactory.class",
                  "javax.net.ssl.SSLSocketFactory");
          props.put("mail.smtp.socketFactory.fallback", "false");
          try {
              Authenticator auth = new SMTPAuthenticator();
              Session session = Session.getInstance(props, auth);
              // session.setDebug(true);
              MimeMessage msg = new MimeMessage(session);
              String content = body;
              msg.setSubject(subject);
              msg.setFrom(new InternetAddress("buddhiedge@gmail.com"));
              Address[] addresses = new Address[1];
              addresses[0] = new InternetAddress("buddhiedge@gmail.com");
              msg.setReplyTo(addresses);
              msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
              msg.setContent(content, "text/html");
              Transport.send(msg);
              return true;
          } catch (Exception mex) {
              mex.printStackTrace();
              System.out.println("Error in sending mail :: " + mex.getMessage());
              return false;
          }
      }
  
      private class SMTPAuthenticator extends Authenticator {
          public PasswordAuthentication getPasswordAuthentication() {
              return new PasswordAuthentication("amrita_test",
                      "aview");
          }
      }
      public static void main(String args[]){
          SMTPTest test=new SMTPTest();
          test.sendSimpleMail("praveenpkd@gmail.com", "subject", "body");
      }
  }
  </code></pre>
  
  <p>Error is:
                        javax.mail.MessagingException: Could not connect to SMTP host: 192.168.0.25, port: 25;</p>
  
  <pre><code>    nested exception is:
      java.net.ConnectException: Connection timed out: connect
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
      at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
      at javax.mail.Service.connect(Service.java:297)
      at javax.mail.Service.connect(Service.java:156)
      at javax.mail.Service.connect(Service.java:105)
      at javax.mail.Transport.send0(Transport.java:168)
      at javax.mail.Transport.send(Transport.java:98)
      at SMTPTest.sendSimpleMail(SMTPTest.java:45)
      at SMTPTest.main(SMTPTest.java:62)
  Caused by: java.net.ConnectException: Connection timed out: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
      at java.net.Socket.connect(Socket.java:519)
      at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550)
      at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
      at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:232)
      at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163)
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1250)
      ... 8 more
  </code></pre>
  
  <p>But the There is no problem with SMTP Server or connection.
                telnet 192.168.0.25 25
  connects fine.
  How to solve this.  </p>