在.NET 2.0应用系统中发送Email (1)

翻译 2006年05月23日 00:07:00


原作者:Thiru Thangarathinam
2005年6月10日
原文:http://www.developer.com/net/net/print.php/3511731

当前大多数企业级应用程序需要发送Email功能。这意味着一个系统平台应该能够为应用系统提供必要的支持以发送Email。就.NET应用系统而言,.NET通过一套直观的类,为发送Email提供了极好的支持。这篇文章以例子的形式介绍了如何使用System.Net.Mail这个命名空间来以新的方式发送Email。你也会了解到如何发送Email附件,以及以抄送或者秘密抄送的方式为多个接收者发送Email。最后,还解释了如何使用XML和XSL来为基于HTML的Email的邮件正文做格式化编排。

.NET 2.0 邮件功能
在.NET Framework 2.0版本中,微软为开发者提供了许许多多有趣的改进以便发送Email。在使用.NET 1 系列版本的的时候,开发者们不得不使用包含在System.Web.Mail命名空间中的类来发送Email。现在在.NET 2.0这个版本中,System.Web.Mail已经被废弃,它的功能现在被移植到了System.Net.Mail这个命名空间中来。这是一个受欢迎的改变,因为这个改变使得Email功能可以被所有的.NET 应用系统使用,而且不需要被放在System.Web 这个assembly下。

除了把这个发送Email的功能移到System.Net.Mail这个命名空间中去之外,微软.NET 设计小组还重新完整的重新实现了SMTP功能,产生了新的类,属性,以及方法。这些提供了优雅的而且整洁的方式来进行与发送Email相关的操作。新的改进包括提升程序质量,提供不同的方法,以及异步处理的支持。


对.NET 2.0 提供的发送EMail的支持有了一个整体的了解后,让我们深入的理解包含在System.Net.Mail中各种实际的类。


System.Net.Mail 命名空间
这个System.Net.Mail命名空间包含在.NET应用系统中所需要的发送EMail的各种各样的类。这些类与System.Web.Mail中的类有着些差别。以下表格1描述了在System.Net.Mail命名空间中包含的几个重要的类:

表格1 System.Net.Mail命名空间中几个重要的类

Attachment
表示随着Email一起发送的附件的类,需要与MailMessage结合使用。

MailAddress
表示发送者或者接收者的地址的类(接收者,抄送以及秘密抄送)

MaiMessage
表示一个Email的类,它有From,To,CC,BCC,Attachments,Subject以及Body等属性来设置邮件的内容。这个Email可以使用SmtpClient类来发送。

SmtpClient
允许应用系统使用SMTP协议来发送Email。

SmtpException
表示在SmtpClient无法正确发送信件时抛出的违例(Exception)


在以上表中所列的类中,MailMessage以及SmtpClient是两个最基本的你可以用来发送最简单的Email所需要用到的类。

实现

待续。。。

.net 2.0 中发送Email

.net 2.0 中发送Email在 .net 2.0 中发送邮件将使用到新增的 SmtpClient 类,并且可以在配置文件中加入 mailSettings 元素来配置 smtp。下面以 asp.n...
  • Julysoft_Studio
  • Julysoft_Studio
  • 2007年06月02日 10:09
  • 791

在.NET 2.0 中发送Email

刚刚看到一篇关于在.NET 中发送Email的文章《从asp.net页面发送电子邮件》看到使用的还是System.Web.Mail命名空间下的类。我们都知道,在.NET 1.1下大部分都是使用这个命名...
  • ehappy
  • ehappy
  • 2006年08月31日 17:29
  • 504

.net 2.0 中发送Email

.net 2.0 中发送Email在 .net 2.0 中发送邮件将使用到新增的 SmtpClient 类,并且可以在配置文件中加入 mailSettings 元素来配置 smtp。下面以 asp.n...
  • seabluecn
  • seabluecn
  • 2007年11月17日 23:21
  • 510

.NET 2.0 发送EMail邮件

protected void Button1_Click(object sender, EventArgs e)    ...{        System.Net.Mail.MailMessage ...
  • solendo
  • solendo
  • 2007年11月05日 22:31
  • 1001

ASP.NET中发送Email完整实例

本文举例说明在ASP.NET中发送Email的众多可能性,内容覆盖了诸如Email格式、优先权、附件及Email编码等方面。 ASP.NET被赋予了一个发送Email的新对象,名为SmtpMail。使...
  • yuexiaxiaochongzi
  • yuexiaxiaochongzi
  • 2008年01月17日 09:21
  • 205

在.NET2.0中使用LINQ

 .net2.0中可否使用linq? 可以。 在网上找了下相关资源,找到2个方法 1.使用LinqBridge(google一下,资料很多) 2....
  • beautifulsarah
  • beautifulsarah
  • 2016年12月28日 14:14
  • 596

C#发送Email方法总结

通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送: 1.通过Localhost; 2.通过普通SMTP; 3....
  • begtostudy
  • begtostudy
  • 2010年09月02日 16:59
  • 3948

在Solaris系统中发送email

1.确认sendmail服务on-line如果sendmail服务已经启动,则下面的命令输出:# svcs –a | grep sendmailOnline            Jul_22    ...
  • hotsolaris
  • hotsolaris
  • 2007年07月20日 15:36
  • 596

.net Framework2.0运行在win7下问题

我用的是vs2005开发的c/s架构的程序,框架就是.net Framework2.0,在xp系统上运行正常没问题,但是在win7系统下就报错,在win7系统下,点击登录进入程序的主页面加载窗体后就报...
  • djn547
  • djn547
  • 2010年11月22日 21:57
  • 2513

用.net发送email

 @ Page Language="C#" %> @ Import Namespace="System.Web.Mail" %>Script Language="C#" Runat="Server">...
  • xuezj508
  • xuezj508
  • 2007年05月22日 19:01
  • 478
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在.NET 2.0应用系统中发送Email (1)
举报原因:
原因补充:

(最多只允许输入30个字)