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

原创 2016年03月15日 14:12:59

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“。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

1、网络编程基础 System.Net、System.Net.Sockets和System.Net.Mail这三个命名空间提供了网络编程中用到的多数类,下面对这三个命名空间及他们包含的主要类进行详细...

C# System.Net.NetworkInformation 命名空间学习之NetworkInterface 类获取IP,DNS,Gateway,Mask, MAC等网络相关信息

慢慢更新
  • dxy0613
  • dxy0613
  • 2014年02月10日 10:24
  • 2509

C#学习笔记16——.net中System.Security.Cryptography 命名空间

.net中System.Security.Cryptography命名空间 在.NETFramework出现之前,如果我们需要进行加密的话,我们只有各种较底层的技术可以选择,如 Microsoft C...
  • byxdaz
  • byxdaz
  • 2011年09月01日 23:14
  • 9581

.Net V4.0 System.Drawing命名空间

  • 2015年04月03日 05:24
  • 23KB
  • 下载

C#发送电子邮件的名称空间:System.Net.Mail

文章出处:http://book.csdn.net/bookfiles/694/10069421607.shtml本章导读System.Net.Mail命名空间是在.NET Framework中新增的...

.Net V4.0 System.Net命名空间概述

  • 2015年04月03日 05:17
  • 14KB
  • 下载

asp.net网络编程技术与实践.rar

  • 2009年08月24日 07:21
  • 12.01MB
  • 下载

C#成魔之路<6>ADO.NET数据访问技术(2)

1、读取数据:DataReader对象 在使用Command对象执行完SQL命令后,若需要从返回的结果集中读取数据,可以使用DataReader对象。(1)DataReader对象详述 DataR...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#成魔之路<14> 网络编程技术(3 )System.Net.Mail命名空间
举报原因:
原因补充:

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