title: Getting javax.mail.MessagingException and java.net.SocketException
body: <p>I am trying to send a email using SMTP of my yahoo(smtp.mail.yahoo.com) account to my gmail account.</p>
  
  <p>But am getting following exception.</p>
  
  <pre><code>javax.mail.MessagingException: Exception reading response;
    nested exception is:
          java.net.SocketException: Connection reset
          at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2153)
          at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1912)
          at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
          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 Sendmail.postMail(Sendmail.java:40)
          at Sendmail.main(Sendmail.java:49)
  Caused by: java.net.SocketException: Connection reset
          at java.net.SocketInputStream.read(SocketInputStream.java:168)
          at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110)
          at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
          at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
          at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:89)
          at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2131)
          ... 9 more
  BUILD SUCCESSFUL (total time: 2 seconds)
  
  
  import javax.mail.*;
  import javax.mail.internet.*;
  import java.util.*;
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>public class Sendmail {
  
      public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException {
  
          boolean debug = false;
  
          // Set the host smtp address
          Properties props = new Properties();
          props.put("mail.smtp.host", "smtp.mail.yahoo.com");
  
          // create some properties and get the default Session
          Session session = Session.getDefaultInstance(props, null);
          session.setDebug(debug);
  
          // create a message
          Message msg = new MimeMessage(session);
  
          // set the from and to address
          InternetAddress addressFrom = new InternetAddress(from);
          msg.setFrom(addressFrom);
  
          InternetAddress[] addressTo = new InternetAddress[recipients.length];
          for (int i = 0; i &lt; recipients.length; i++) {
              addressTo[i] = new InternetAddress(recipients[i]);
          }
          msg.setRecipients(Message.RecipientType.TO, addressTo);
  
  
          // Optional : You can also set your custom headers in the Email if you Want
          msg.addHeader("MyHeaderName", "myHeaderValue");
  
          // Setting the Subject and Content Type
          msg.setSubject(subject);
          msg.setContent(message, "text/plain");
          Transport.send(msg);
      }
  
      public static void main(String[] args) {
  
          try{
  
              Sendmail sende = new Sendmail();
              String senderemailid [] = {"poorna.anu@gmail.com"};
              sende.postMail(senderemailid,"Hi","Come to room","poorna_meenakshi@yahoo.com");
  
          }catch(MessagingException e){
              e.printStackTrace();
          }        
      }
  }
  </code></pre>