无法使用端口465使用Gmail / Yahoo等外发邮件服务器在C#中发送邮件

时间:2013-01-31 11:21:38

标签: c# email

使用System.Net.Mail命名空间,使用的代码如下所示。

MailMessage MyMailMessage = new MailMessage("example@gmail.com", "example@gmail.com",

"write your subject Here ", "Hi,This is the test message ");

MyMailMessage.IsBodyHtml = false;

NetworkCredential mailAuthentication = new NetworkCredential("example@gmail.com","xxxxxxxx");

    SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 465);

    mailClient.EnableSsl = true;

    mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;

    mailClient.UseDefaultCredentials = false;

    mailClient.Credentials = mailAuthentication;

    mailClient.Send(MyMailMessage);

如果使用465端口,则使用上述代码超时异常。 25端口工作正常。 在雅虎帐户的情况下,465和25都发送邮件失败。

无论如何,使用gmail或yahoo帐户发送邮件可以支持465端口。

提到以下链接 http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

Windows Mail是否使用System.Net.Mail发送消息 - 不使用Implicit SSL。

有没有解决方案可以解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:2)

这不是问题的答案,但.NET内置邮件类不支持所需的隐式SSL方法。您必须使用第三方SMTP客户端组件才能同时显式和隐式SSL。