5

使用 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端口工作正常。对于 yahoo 帐户,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 来发送消息 - 不会与隐式 SSL 一起使用。

有没有办法解决这个问题。

提前致谢

4

1 回答 1

2

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

于 2013-01-31T11:44:39.620 回答