title: Error in sending mail - ConnectException
body: <p>I have used the following Java code to send email.</p>
  
  <pre><code>import java.util.*;
  import javax.mail.*;
  import javax.mail.internet.*;
  import javax.activation.*;
  
  public class SendEmail
  {
     public static void main(String [] args)
     {    
  
        String to = "abcd@gmail.com";
        String from = "web@gmail.com";
        String host = "localhost";
        Properties properties = System.getProperties();
        properties.setProperty("smtp.gmail.com", host);
        Session session = Session.getDefaultInstance(properties);
        try{
           MimeMessage message = new MimeMessage(session);
           message.setFrom(new InternetAddress(from));
           message.addRecipient(Message.RecipientType.TO,
                                    new InternetAddress(to))
           message.setSubject("This is the Subject Line!");
           message.setText("This is actual message");
           Transport.send(message);
           System.out.println("Sent message successfully....");
        }catch (MessagingException mex) {
           mex.printStackTrace();
        }
     }
  }
  </code></pre>
  
  <p>When I run the file, I get the following errors:</p>
  
  <pre><code>javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
  nested exception is:
  java.net.ConnectException: Connection refused: connect
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
  
  Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
  </code></pre>
  
  <p>Would really appreciate if someone could help me on this.</p>
  
  <p>How to solve the <code>ConnectException</code>?</p>