我配置我的Outlook 2010的thie article发送和接收来自yahoo.com的电子邮件,它工作正常,没有任何问题。雅虎smtp发送电子邮件时发生错误
我开发一个小应用程序通过我的应用程序发送我的电子邮件,但它给我的错误:
"unable to read data from the transport connection:an exist connection was
forcibly closed by the remote host."
我的代码:
try
{
SmtpClient smtp = new SmtpClient("smtp.mail.yahoo.com", 465);
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("myid", "mypass");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage mailMessage = new MailMessage();
mailMessage.From = new System.Net.Mail.MailAddress("[email protected]", "blabla");
mailMessage.To.Add(new System.Net.Mail.MailAddress("[email protected]", "[email protected]"));
mailMessage.Subject = "test";
mailMessage.Body = "test";
mailMessage.IsBodyHtml = false;
mailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
mailMessage.Priority = MailPriority.High;
smtp.Send(mailMessage);
Console.WriteLine("hooooooooooraaaaaaaaaaaaaaa");
Console.ReadKey();
}
catch (Exception err)
{
Console.WriteLine(err.InnerException.Message);
Console.ReadKey();
return;
}
我不认为你应该使用'UseDefaultCredentials'属性以及'Credentials'。我会将UseDefaultCredentials设置为false。该属性将导致SmtpClient尝试使用当前用户的系统凭据 – 2013-02-14 21:56:18
@Adam我通过smtp.UseDefaultCredentials = false测试了它;不工作具有相同的错误,但感谢您的帮助 – motevalizadeh 2013-02-14 21:58:53
请看一下:http:/ /stackoverflow.com/questions/5092235/c-sharp-smtp-email-sending-code-fails-for-yahoo-mail-but-works-fine-for-other-se – 2013-02-14 22:02:28