从ASP.NET中发送电邮通知

ZDNet软件频道 时间:2003-04-09 作者:周靖 译 |  我要评论()
本文关键词:
本文探讨了ASP.NET内建的电子邮件支持,并介绍了一个实例:就网站的404错误向自己发送电邮通知。
本文译自Builder.com任何人只要用过一段时间的经典ASP,就会着手下载别人的基于COM的SMTP组件,或动手编写自己的组件来发送电子邮件。原生ASP脚本语言不支持以任何方式从服务器端脚本发送电邮。

ASP.NET改变了这一切,Web开发者获得了对.NET框架库的完全访问。我们终于有机会能做得更好。本文探讨了ASP.NET内建的电子邮件支持,并介绍了一个实例:就网站的404错误向自己发送电邮通知。

SMTP被最大程度地简化

到底有多简单呢?如果服务器恰好正在运行一个SMTP服务,那么为了程序化地发送电子邮件,只需添加一行代码就够了。请调用System.Web.Mail.SmtpMail的Send方法,并向它传递4个字符串参数:发件人地址、收件人地址、主题和邮件正文。如下所示:

 
  System.Web.Mail.SmtpMail.Send(
 “from@from.com”,
  ”to@to.com”,
  ”My Subject Line”,
  ”My Message Body”);

即使服务器上没有运行SMTP服务,操作也十分简单:只需在Send调用之前添加一行代码,将System.Web.Mail.SmtpMail.Send的静态SmtpServer属性设为你能使用的一个SMTP服务器,如下所示:

System.Web.Mail.SmtpMail.SmtpServer = “mail.domain.com”;

再调用如前例所示的Send方法即可。

好得令人不敢相信?

SmtpMail类有两个重大的缺点:

  • SMTP服务器如需身份验证,就不可用它发送电邮。
  • SmtpMail不是.NET原生类;它只是一个封装器,封装了基于COM的“协作数据对象”(CDO)API。

最后一个问题尤其令人失望;微软公司更好的做法是用他们自己的.NET套接字类来生成一个.NET SMTP类,就像Sun为Java开发者提供的那个与平台无关的javax.mail包。但无论如何,这两个限制对大多数人来说都不是问题,因为大多数SMTP服务器不需要身份验证。而且你通常运行的是一个安装好CDO的Windows服务器。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134