title: System.Net.Mail.SmtpException: Failure sending mail. Unable to read data from the transport connection
body: <p>This is the relevant code (C#)</p>
  
  <pre><code>                    MailMessage m;
                      SmtpClient client;   
  
                      client.Host = "smtp.mail.yahoo.com";
                      client.Port = 465;  
                      client.EnableSsl = true;
                      client.Credentials = new NetworkCredential("mymail@yahoo.com", "mypassword");
  
                      m = new MailMessage();
                      m.From = new MailAddress("mymail@yahoo.com");
                      m.To.Add(new MailAddress("anothermail@gmail.com"));
                      m.Subject = "My subject";
                      m.Body = "This is my body. ";
  
                      client.Send(m);
  </code></pre>
  
  <p>This is the full error trace</p>
  
  <pre><code>System.Net.Mail.SmtpException: Failure sending mail. ---&gt; System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---&gt; System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
     at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
     at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
     --- End of inner exception stack trace ---
     at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
     at System.Net.DelegatedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
     at System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
     at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)
     at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
     at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
     at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)
     at System.Net.Mail.SmtpClient.GetConnection()
     at System.Net.Mail.SmtpClient.Send(MailMessage message)
     --- End of inner exception stack trace ---
     at System.Net.Mail.SmtpClient.Send(MailMessage message)
     at EmailSender.EmailSenderForm.send() in c:\Users\Ankur\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\EmailSenderForm.cs:line 91
  </code></pre>
  
  <p>What am I doing wrong here?</p>