title: Sending mail error, javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
body: <p>Here is my code</p>
  
  <pre><code>import java.util.Properties;
  import javax.mail.Message;
  import javax.mail.MessagingException;
  import javax.mail.Session;
  import javax.mail.Transport;
  import javax.mail.internet.InternetAddress;
  import javax.mail.internet.MimeMessage;
  
  
  public class MailSendClass {
      public static void main (String [] args){
  
        // Recipient's email ID needs to be mentioned.
        String to = "abc82@gmail.com";
  
        // Sender's email ID needs to be mentioned
        String from = "xyz@gmail.com";
  
        // Assuming you are sending email from localhost
        String host = "localhost";
  
        // Get system properties
        Properties properties = System.getProperties();
  
        // Setup mail server
        properties.setProperty("mail.smtp.host", host);
  
        // Get the default Session object.
        Session session = Session.getDefaultInstance(properties);
  
        try{
           // Create a default MimeMessage object.
           MimeMessage message = new MimeMessage(session);
  
           // Set From: header field of the header.
           message.setFrom(new InternetAddress(from));
  
           // Set To: header field of the header.
           message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
  
           // Set Subject: header field
           message.setSubject("Thanks for registering on our website!");
  
           // Now set the actual message
           message.setText("Welcome To Job Portal !!!!  Again Thanks ");
  
           // Send message
           Transport.send(message);
           System.out.println("Sent message successfully....");
        }catch (MessagingException mex) {
           mex.printStackTrace();
        }
  
      }
  }
  </code></pre>
  
  <p>And I am getting this error everytime</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:1706)
      at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
      at javax.mail.Service.connect(Service.java:291)
      at javax.mail.Service.connect(Service.java:172)
      at javax.mail.Service.connect(Service.java:121)
      at javax.mail.Transport.send0(Transport.java:190)
      at javax.mail.Transport.send(Transport.java:120)
      at MailSendClass.main(MailSendClass.java:58)
  Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
      at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
      at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
      at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      at java.net.Socket.connect(Socket.java:589)
      at java.net.Socket.connect(Socket.java:538)
      at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
      at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
      ... 7 more
  BUILD SUCCESSFUL (total time: 3 seconds)
  </code></pre>
  
  <p>I am not getting the error why this is happening. Please help me in fixing this error.</p>