ASP.NET使用命名空间System.Net.Mail发送邮件

2014-12-21 12:33:02|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C#, 网络通信|来源:唯设编程网

System.Net.Mail命名空间是在.NET Framework中新增的,该命名空间提供了发送电子邮件的功能。System.Net.Mail命名空间包含用于将电子邮件发送到SMTP服务器的类,这些类需要结合Microsoft STMP Server一起使用。使用该命名空间发送电子邮件常用的类包括5个:

(1). 管理SMTP的类:SmtpClient类

(2). 管理电子邮件内容的类:MailMessage类

(3). 管理电子邮件地址类: MailAddress类

(4). 表示电子邮件附件的类: Attachment类

1.概述

System.Net.Mail命名空间下有StmpClient类用于发送邮件,可以完全替代SmtpMail类。利用SmtpClient类的Send方法可以完成发送电子邮件的传输,也可以用SendAsync方法进行异步发送,后者发送完成后产生一个SendCompleted事件来通知发送结束。Send方法可以接受MailMessage类的对象作为参数。通过MailMessage类可以设置邮件更多的内容和格式,例如,为Attachment类设置添加附件的参数。

2. System.Net.Mail命名空间的类组成

SmtpClient类与SMTP结合在一起,通过MailMessage类、MailAddress类、Attachment类来丰富电子邮件的内容和设置。下面展示了用户通过System.Net.Mail命名空间下的类结合SMTP发送电子邮件的过程。

2.1 管理SMTP的类:SmtpClient类

SmtpClient类封装了将电子邮件发送到SMTP服务器的方法和属性。

SmtpCleint类用于让应用程序向Smtp服务器发送电子邮件,可以通过同步或者异步的方法发送电子邮件。通过结合MailMessage类使用,还可以设置邮件的格式、添加抄送人、添加附件等。

语法定义:

SmtpClient类的语法定义如下:

public class SmtpClient

下面的代码演示如何创建一个SmtpClient的实例

SmtpClient client = new SmtpClient("smpt.Sina.com"); //直接通过构造函数设置SMTP主机服务器

或:

SmtpClient client = new SmtpClient();

Client.Host = "smtp.Sina.com"; // 通过Host属性来设置SMTP主机服务器

方法详解:

SmtpClient类主要使用SMTP来同步或异步地发送电子邮件。其中最常用的方法及其说明如下:

发送电子邮件时,只要简单地调用Send方法就可以了,其中Send方法有两个重载:

public void Send(MailMessage message)   其中,参数message是MailMessage类的一个实例。

public void Send(string from ,string recipients,string subject,string body)  ,第二个有四个参数,其代表意义如下:

from : 包含邮件发件人的地址信息。

recipients :包含邮件收件人的地址信息。

subject :包含邮件的主题行。

body :包含邮件的正文。

例子:

下面的代码演示了如何使用Send函数发送电子邮件:

static void Main(string[] args)

{

     SmtpClient client = new SmtpClient();

     //此处省略了client属性设置代码

     client.Send("FromMailBox@Sina.com", "ToMailBox@Sina.com","电子邮件示例","您好,收到了吗?");

     Console.WriteLine("邮件已经成功发送到{0}","ToMailBox@Sina.com");

}

技巧:如果不想主线程等待传输电子邮件完成后再执行,可以使用异步SendAsync方法。SendAsync操作完成时会引发SendCompleted事件。

发表评论0条 】
网友评论(共?条评论)..
ASP.NET使用命名空间System.Net.Mail发送邮件