System.Net.Mail and SSL

W

WIzmanG

Hi all
I am having trouble with sending email via a C#2.0 application, I use
the same settings as I use in Outlook but I cannot get email to send.

I am trying to use SSL on port 465 and get the error below, If I disable
SSL and use port 587 all goes well.


I have been Googling for 2 days without success and this seems to be a
common problem.


Any help is appreciated.

Thanks.


Here is the code I am using.


MailMessage message = new MailMessage();
message.From = new MailAddress("(e-mail address removed)");
message.Sender = new MailAddress("(e-mail address removed)");
message.To.Add(new MailAddress("(e-mail address removed)"));
message.Subject = "This is my subject";
message.Body = "This is the content";

SmtpClient smtpClient = new SmtpClient("smtp.bizmail.yahoo.com", 465);
System.Net.NetworkCredential mc = new
System.Net.NetworkCredential("(e-mail address removed)", "mypassword");

smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = mc ;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network ;
smtpClient.EnableSsl = true;

try{
smtpClient.Send(message);

}
catch(Exception e) {
System.Console.WriteLine(e.InnerException.ToString());
}

smtpClient = null;

Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);



The error I get is this:

Unable to read data from the transport connection: An existing
connection was forcibly closed by the remote host.

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.SmtpReplyReader.ReadLine()
at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
 
A

almir

Hi all
I am having trouble with sending email via a C#2.0 application, I use
the same settings as I use in Outlook but I cannot get email to send.

I am trying to use SSL on port 465 and get the error below, If I disable
SSL and use port 587 all goes well.

I have been Googling for 2 days without success and this seems to be a
common problem.

Any help is appreciated.

Thanks.

Here is the code I am using.

MailMessage message = new MailMessage();
message.From = new MailAddress("(e-mail address removed)");
message.Sender = new MailAddress("(e-mail address removed)");
message.To.Add(new MailAddress("(e-mail address removed)"));
message.Subject = "This is my subject";
message.Body = "This is the content";

SmtpClient smtpClient = new SmtpClient("smtp.bizmail.yahoo.com", 465);
System.Net.NetworkCredential mc = new
System.Net.NetworkCredential("(e-mail address removed)", "mypassword");

smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = mc ;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network ;
smtpClient.EnableSsl = true;

try{
smtpClient.Send(message);

}

catch(Exception e) {
System.Console.WriteLine(e.InnerException.ToString());

}

smtpClient = null;

Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);

The error I get is this:

Unable to read data from the transport connection: An existing
connection was forcibly closed by the remote host.

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.SmtpReplyReader.ReadLine()
at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)

from this distance it looks like firewalll problem, are your outlook
and c# code running on same machine ?
are your certiifcates valid ? i had similar problems using IE (instead
of outlook) the problem was certificate and nothing else, if you need
more infos mail me directly instead of newsgroup

kazazic-at-gXmXaXil.com and remove all X

regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top