title: Send mail from local machine mail server to gmail or other mail server in java
body: <p>I have following code</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)
     {
  
        // Recipient's email ID needs to be mentioned.
        String to = "*****@gmail.com";
  
        // Sender's email ID needs to be mentioned
        String from = "test1@localhost";
  
        // 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("This is the Subject Line!");
  
           // Now set the actual message
           message.setText("This is actual message");
  
           // Send message
           Transport.send(message);
           System.out.println("Sent message successfully....");
        }catch (MessagingException mex) {
           mex.printStackTrace();
        }
     }
  }
  </code></pre>
  
  <p><strong>Mercury Server Log</strong></p>
  
  <pre><code>T 20140406 114001 534133f8 Connection from 127.0.0.1
  T 20140406 114001 534133f8 EHLO RAVI-PC
  T 20140406 114001 534133f8 MAIL FROM:&lt;test1@localhost&gt;
  T 20140406 114001 534133f8 RCPT TO:&lt;mygmailaccount@gmail.com&gt;
  T 20140406 114001 534133f8 DATA
  T 20140406 114001 534133f8 DATA - 9 lines, 274 bytes.
  T 20140406 114001 534133f8 QUIT
  T 20140406 114001 534133f8 Connection closed with 127.0.0.1, 0 sec. elapsed.
  </code></pre>
  
  <p><strong>Server Debug Output</strong></p>
  
  <pre><code>DEBUG: JavaMail version 1.5.0
  DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
  DEBUG: Tables of loaded providers
  DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}
  DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}
  DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
  DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
  DEBUG SMTP: useEhlo true, useAuth false
  DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
  220 localhost ESMTP server ready.
  DEBUG SMTP: connected to host "localhost", port: 25
  
  EHLO RAVI-PC
  250-localhost Hello RAVI-PC; ESMTPs are:
  250-TIME
  250-SIZE 0
  250 HELP
  DEBUG SMTP: Found extension "TIME", arg ""
  DEBUG SMTP: Found extension "SIZE", arg "0"
  DEBUG SMTP: Found extension "HELP", arg ""
  DEBUG SMTP: use8bit false
  MAIL FROM:&lt;test1@localhost&gt;
  250 Sender OK - send RCPTs.
  RCPT TO:&lt;mygmailaccount@gmail.com&gt;
  250 Recipient OK - send RCPT or DATA.
  DEBUG SMTP: Verified Addresses
  DEBUG SMTP:   mygmailaccount@gmail.com
  DATA
  354 OK, send data, end with CRLF.CRLF
  From: test1@localhost
  To: mygamilaccount@gmail.com
  Message-ID: &lt;22999979.0.1396766922465.JavaMail.RAVI@RAVI-PC&gt;
  Subject: This is the Subject Line!
  MIME-Version: 1.0
  Content-Type: text/plain; charset=us-ascii
  Content-Transfer-Encoding: 7bit
  
  This is actual message
  .
  250 Data received OK.
  QUIT
  221 localhost Service closing channel.
  Sent message successfully....
  </code></pre>
  
  <p>I have setup <code>Mercury Mail Server</code> on my local machine, Now I'm trying to send mail from local machine mail server to gmail user. I got <code>Sent message successfully....</code> output. when I executed above code. But, I didn't received any mail in gmail account.</p>