C#成魔之路<14> 网络编程技术(3 )System.Net.Mail命名空间

来源:互联网 发布:java 接口过滤器 编辑:程序博客网 时间:2024/06/05 17:28

System.Net.Mail命名空间包含用于将电子邮件发送到简单邮件传输协议(SMTP)服务器进行传输的类。其中MailMessage类用来表示邮件的内容;Attachment类用来创建邮件附件;SmtpClient类用来将电子邮件传输到指定用于邮件传送的SMTP主机。

1、MialMessage类
MialMessage类表示可以使用SmptClient类发送的电子邮件,它主要用于指定邮件的发送地址、收件人地址、邮件正文及附件等。
常用属性和方法:
Attachments:获取用于存储附加到电子邮件的数据的附件合集。
Body:获取或者设置邮件正文。
From:获取或设置此电子邮件的发信人地址。
Sender:获取或设置电子邮件的发件人地址。
Subject:获取或设置此电子邮件的主题行。
To: 获取包含此电子邮件的收件人的地址集合。

注意:MialMessage类的实例用于构造可使用SmtpClient类传输到SMTP服务器的电子邮件。

示例程序:实例化一个邮件发送类对象。

 MailAddress from = new MailAddress("1795959147@qq.com");            //设置邮件的发送人            MailAddress to = new MailAddress("192928715@qq.com");            //设置邮件的收件人            MailMessage mess = new MailMessage(from,to);            //实例化一个类对象            mess.Subject = "屁眼交易";            //设置发送邮件的主题            mess.Body = "肮脏的";            //设置发送信息的内容

2、Attachment类
Attachment类表示电子邮件的附件,他需要与MailMessage类一起使用。创建完电子邮件的附件之后,若要将附件添加到邮件中,需要将附件添加到MailMessage.Attachments集合中。

Attachment类的常用属性、方法及说明如下:
ContentDisposition属性:获取附件的MIME内容标头信息。
Name属性:获取或设置和附件关联的内容类型中的MIME内容类型名称值。
TransferEncoding属性:获取或设置附件的编码 。
CreateAttacthmentFromString方法:用字符串创建附件。

示例程序:

 string strFile = "C#.txt";            MailAddress from = new MailAddress("1795959147@qq.com");            //设置邮件的发送人            MailAddress to = new MailAddress("192928715@qq.com");            //设置邮件的收件人            MailMessage mess = new MailMessage(from,to);            //实例化一个类对象            Attachment att = new Attachment(Server.MapPath(ddlAccessories.Items[i].Value),                System.Net.Mime.MediaTypeNames.Application.Octet);            //为发送的邮件创建附件信息。            System.Net.Mime.ContentDisposition dis = att.ContentDisposition;            //为邮件添加时间信息            dis.CreationDate = System.IO.File.GetCreationTime(strFile);            dis.ModificationDate = System.IO.File.GetLastWriteTime(strFile);            dis.ReadDate = System.IO.File.GetLastAccessTime(strFile);            mess.Attachments.Add(att);            //创建的附件添加到邮件中

3、SmtpClient类
SmtpClient类用于将电子邮件发送到SMTP服务器以便传递,使用它实现发送电子邮件功能的时候必须指定一下信息:
(1)用来发送电子邮件的SMTP主机服务器。
(2)身份验证凭据。
(3)发件人和收件人的邮件地址。
(4)邮件内容。

该类的常见属性方法:

Credentials属性:获取或设置用于验证发件人身份的凭据。
Host属性:获取或者设置用于SMTP事务的主机的名称或IP地址。
Port属性:获取或设置用于SMTP事务的端口。
Send属性:将电子邮件发送到SMTP服务器以便传递,该方法在传输邮件的过程中将阻止其他操作。

注意:当正在传输电子邮件的过程中,再次调用SendAsync或Send方法的时候,会触发InvaildOperationException异常。

 string strFile = "C#.txt";            MailAddress from = new MailAddress("1795959147@qq.com");            //设置邮件的发送人            MailAddress to = new MailAddress("192928715@qq.com");            //设置邮件的收件人            MailMessage mess = new MailMessage(from,to);            //实例化一个类对象            Attachment att = new Attachment(strFile,                System.Net.Mime.MediaTypeNames.Application.Octet);            //为发送的邮件创建附件信息。            System.Net.Mime.ContentDisposition dis = att.ContentDisposition;            //为邮件添加时间信息            dis.CreationDate = System.IO.File.GetCreationTime(strFile);            dis.ModificationDate = System.IO.File.GetLastWriteTime(strFile);            dis.ReadDate = System.IO.File.GetLastAccessTime(strFile);            mess.Attachments.Add(att);            //创建的附件添加到邮件中            SmtpClient smtp = new SmtpClient("192.168.1.51",25);            //实例化邮件发送类对象。            smtp.Credentials = new System.Net.NetworkCredential("zhd","111");            //设置用于验证发件人身份的凭据            smtp.Send(mess);            //发送邮件

4、 POP3协议
POP3协议用于收发电子邮件。通过POP协议,客户机登录到服务器之后,可以对自己的邮件进行删除或下载到本地的操作。 POP3协议的常用命令以及描述:

USER :此命令与下面的PASS命令如果都发送成功,将使状态转换。
PASS:用户名所对应的密码。
APOP:Digest是MD5消息摘要。
STAT:请求服务器发回关于邮箱统计资料(邮件总数和总字节数)。
DELE:服务器将由参数标识的邮件标记为删除,有QUIT命令执行。
RSET:服务器将重置所有标记为删除的邮件,用于撤销DELE命令。
QUIT:退出。

注意:SMTP服务器使用的端口号一般为25,POP服务器使用的端口号一般为110。
所有域都在本机上分出一定的空间来存放信息,默认位置为”C:\Inetpub\mailroof\Mailbox“。

0 0