title: Java mail has connection errors
body: <p>I'm trying to send an email using my java application, but it always gives me a connection error back. So my code looks like this:</p>
  
  <pre><code>import java.util.*;
  import javax.mail.*;
  import javax.mail.internet.*;
  import javax.activation.*;
  
  public class SendMail {
  
  public static void main(String [] args) {
  
      String to = "something@gmail.com";
      String from = "fromsomeone@gmail.com";
      String host = "localhost";
  
      Properties properties = System.getProperties();
      properties.setProperty("mail.user", "fromsomeone");
      properties.setProperty("mail.password", "passwordForSomeone");
      properties.setProperty("mail.smtp.host", 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("subject typed");
          message.setText("This is actual message which is just some lines");
          Transport.send(message);
  
      }catch (MessagingException mex) {
          mex.printStackTrace();
      }
  }
  }
  </code></pre>
  
  <p>of course I provide valid information (using my gmail account). And this is the error I get back:</p>
  
  <pre><code>com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
    nested exception is:
  java.net.ConnectException: Connection refused (Connection refused)
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
  at javax.mail.Service.connect(Service.java:366)
  at javax.mail.Service.connect(Service.java:246)
  at javax.mail.Service.connect(Service.java:195)
  at javax.mail.Transport.send0(Transport.java:254)
  at javax.mail.Transport.send(Transport.java:124)
  at email.SendMail.main(SendMail.java:49)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
  Caused by: java.net.ConnectException: Connection refused (Connection refused)
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
  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:331)
  at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
  ... 12 more
  </code></pre>
  
  <p>Can someone help me, what is wrong with my code? Thank you!</p>