title: sending/ receiving email in Java
body: <p>I want to send email through Java (Any email like from yahoo, gmail, or any other part).</p>
  
  <p>I tried the code give <a href="http://www.tutorialspoint.com/java/java_sending_email.htm" rel="nofollow">here</a>, however I get exception as </p>
  
  <pre><code>javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
    nested exception is:
      java.net.ConnectException: Connection refused
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
      at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
      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 myemailtesting.MyEmailTesting.main(MyEmailTesting.java:72)
  Caused by: java.net.ConnectException: Connection refused
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
      at java.net.Socket.connect(Socket.java:529)
      at java.net.Socket.connect(Socket.java:478)
      at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
      at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
      at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
      ... 7 more
  </code></pre>
  
  <p>Code I have is</p>
  
  <pre><code>/*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
  package myemailtesting;
  
  /**
  *
  * @author xxxx
  */
  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 MyEmailTesting {
  
      public static void main(String[] args) {
  
          System.out.println("This is EMAIL testing!!!");
          // Recipient's email ID needs to be mentioned.
          String to = "xx@gmail.com";
  
          // Sender's email ID needs to be mentioned
          String from = "xx@gmail.com";
  
          // Assuming you are sending email from localhost
          String host = "localhost";
  
          // Get system properties
          System.out.println("test 001");
          Properties properties = System.getProperties();
          System.out.println("test 002");
  
          // Setup mail server
          System.out.println("test 003");
          properties.setProperty("mail.smtp.host", host);
  
          // Get the default Session object.
          System.out.println("test 004");
          Session session = Session.getDefaultInstance(properties);
  
          try {
              // Create a default MimeMessage object.
              System.out.println("test 005");
  
              MimeMessage message = new MimeMessage(session);
  
              System.out.println("test 006");
  
              // Set From: header field of the header.
              message.setFrom(new InternetAddress(from));
  
              System.out.println("test 007");
              // Set To: header field of the header.
              message.addRecipient(Message.RecipientType.TO,
                      new InternetAddress(to));
  
              System.out.println("test 008");
              // Set Subject: header field
              message.setSubject("This is the Subject Line!");
  
              System.out.println("test 009");
              // Now set the actual message
              message.setText("This is actual message");
  
              System.out.println("test 010");
              // Send message
              Transport.send(message);
              System.out.println("Sent message successfully....");
          } catch (MessagingException mex) {
              mex.printStackTrace();
          }
      }
  }
  </code></pre>
  
  <p>For de-bugging I was using stateement as <code>System.out.println("test 00X");</code></p>
  
  <p>I got output as </p>
  
  <pre><code>This is EMAIL testing!!!
  test 001
  test 002
  test 003
  test 004
  test 005
  test 006
  test 007
  test 008
  test 009
  test 010
  javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
  </code></pre>
  
  <p>I tried many codes but I am not getting any output. Getting some exception.</p>
  
  <p>I see at some place, I need to keep SMTP server UP. I don't know what needs to be done. I believe apache commons will be good option.</p>
  
  <p>Could someone help me in below steps</p>
  
  <ol>
  <li>jar files that are needed</li>
  <li>how to setup smptp</li>
  <li>send email (from any site i.e. from yahoo or gmail or any private email id)</li>
  </ol>
  
  <h2>OR</h2>
  
  <p>step by step process for sending email in java...</p>