我可以同时使用System.Net.Mail和System.Web.Mail与GMail一起工作,但是我不能让它们兼顾smtp.att.yahoo.com.
我从自己的Web.config键获取SMTP设置.使用System.Web.Mail发送时,这些设置有效,但System.Net.Mail失败.
以下是抓取我的设置并与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.