为什么System.Net.Mail在System.Web.Mail工作的地方失败

前端之家收集整理的这篇文章主要介绍了为什么System.Net.Mail在System.Web.Mail工作的地方失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以同时使用System.Net.Mail和System.Web.Mail与GMail一起工作,但是我不能让它们兼顾smtp.att.yahoo.com.

我从自己的Web.config键获取SMTP设置.使用System.Web.Mail发送时,这些设置有效,但System.Net.Mail失败.

<add key="SmtpServer" value="smtp.att.yahoo.com"/>
    <add key="SmtpServerAuthenticateUser" value="ctrager@sbcglobal.net"/>
    <add key="SmtpServerPort" value="465"/>
    <add key="SmtpUseSSL" value="1"/>
    <add key="SmtpServerAuthenticatePassword" value="MY PASSWORD"/>

以下是抓取我的设置并与GMail一起使用的代码,使用att.yahoo失败:

SmtpClient smtp;

        if (!string.IsNullOrEmpty(Util.get_setting("SmtpServer","")))
        {
           smtp = new SmtpClient(Util.get_setting("SmtpServer",""));
        }
        else
        {
           smtp = new SmtpClient();
        }


        if (!string.IsNullOrEmpty(Util.get_setting("SmtpServerAuthenticatePassword","")))
           smtp.Credentials = new System.Net.NetworkCredential(
               Util.get_setting("SmtpServerAuthenticateUser",""),Util.get_setting("SmtpServerAuthenticatePassword",""));

        if (!string.IsNullOrEmpty(Util.get_setting("SmtpServerPort","")))
           smtp.Port = int.Parse(Util.get_setting("SmtpServerPort",""));

        if (Util.get_setting("SmtpUseSSL","0") == "1")
           smtp.EnableSsl = true;

        smtp.Send(message);

这是我的问题吗?

http://blogs.msdn.com/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

解决方法

我已经学到了答案.答案是:

因为System.Net.Mail不支持“隐式”SSL,只支持“显式”SSL.

猜你在找的HTML相关文章