首页 > 代码库 > 邮件发送功能开发
邮件发送功能开发
作为一名.Net开发,"邮件发送"功能的开发和使用是必须要掌握的,因为这个功能作为“消息推送”的一种手段经常出现在各种.Net系统中,所以本文将对.Net平台下的“邮件发送”,做一个细致的分析!
一、who需要邮件功能
1、服务提供方:需提供邮件收发客户端或Web服务。如:QQ邮箱、GMail邮箱、126、163等知名邮件服务提供商。注:如果你使用的第三方不知名邮件服务商提供的邮件收发服务,通过其发出的邮件,可能会被其他知名邮件服务提供商的STMP服务器视为是"恶意邮件或垃圾邮件"!
2、消息推送:消息推送方
3、App:某些网站会员的注册功能或者功能激活功能。
等等....
二、邮件协议
1、SMTP(Simple Mail Transfer Protocol) ---简单邮件传输协议
它是一组用于源地址到目的地址传送邮件的规则,由它来控制信件的中转方式SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或者中转信件时找到下一个地址。通过SMTP协议指定的服务器地址,就可以把E-Mail寄到指定的收件人的服务器上了.整个过程只需要几分钟.它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。
注:SMTP服务器是遵循SMTP协议的发送邮件,用来发送或者中转发出的邮件。
详细请参考百度百科
2、POP3(Post Office Protocol -Version3) ---邮局协议第三个版本
它是TCP/IP协议中的一员,由RFC1939 定义,这个协议主要支持客户端远程管理在服务器上的电子邮件。注:提供了SSL加密的POP3协议被称为POP3S.
注:POP协议支持"离线"邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户程序用来连接服务端,并下载所有未阅读的电子邮件。这种离线模式称为存储转发模式,将邮件从服务器从邮件服务器送到个人终端上,一般是PC机或者MAC,一旦邮件发送到PC或者MAC上,存储在服务器上的邮件会立刻被删除,但目前的POP3邮件服务器都可以"只下载邮件,服务器端并不删除.",也就是改进的POP3协议.OP适用于C/S结构的脱机模型的电子邮件协议,目前已发展POP3到第三版,称POP3。脱机模型即不能在线操作,POP不支持对服务器邮件进行扩展操作,此过程需要更高级的IMAP4协议来完成。支持POP协议使用ASCII码来传输数据消息,这些数据消息可以是指令,也可以是应答。
详细请参考百度百科
3、IMAP4(Internet Message Acess Protocol -Version4) ---交互式数据消息访问协议第四个版本
IMAP协议是由斯坦福大学的Mark Crispin教授在1986年开发的,后期版本是华盛顿州立大学进行开发的,IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”(IMAP4rev1)。IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在服务器上维护自己邮件目录(维护是指移动)新建 删除重命名共享 抓取文本 等操作)。IMAP4协议弥补了POP3协议的很多缺陷,,由RFC3501定义。本协议是用于客户机远程访问服务器上电子邮件,它是邮件传输协议新的标准。
详细请参考百度百科
三、邮箱分类
现阶段的邮箱主要有以下几种:免费邮箱、vip邮箱、域名邮箱、企业邮箱.......。
1、免费邮箱
“免费邮箱”是邮件商家为任何人免费提供的电子邮件传输服务,作为交换,该网站上你请求电子邮件服务和一些个人信息的地方会显示广告。它更适合个人生活和娱乐的需要,却并非那么注重邮箱的安全和功能。
部分免费邮件SMTP服务器参考设置:
Email类型 |
SMTP[Host]主服务器 |
Port[端口号] |
是否可启用SSL |
Gmail(Google 的网络邮件服务) |
smtp.gmail.com |
587 |
True |
HotMail/Live |
smtp.live.com |
25 |
True |
QQ/FoxMail(Foxmail被腾讯收购) |
smtp.qq.com |
25 |
False |
126(网易) |
smtp.126.com |
25 |
False |
163(网易) |
smtp.163.com |
25 |
False |
Sina(新浪邮箱) |
smtp.sina.com |
25 |
False |
Tom |
smtp.tom.com |
25 |
False |
SoHu(搜狐邮箱) |
smtp.sohu.com |
25 |
False |
Yahoo(雅虎邮箱)(已关闭) |
smtp.mail.yahoo.com |
25 |
False |
2、vip邮箱
“vip邮箱”即邮件商家提供的收费版邮件服务,在速度、安全、稳定性、容量、附件大小限制、群发数等方面相对好些。其SMTP服务器设置就是多了个vip字符。eg:smtp.vip.qq.com。邮箱地址:369220123@vip.qq.com。
3、域名邮箱
“域名邮箱”是个性化邮件服务,能让您用自己的域名做为后缀即“@自己的域名”,前提是你需要一个域名(通常域名要收费)。功能比免费邮箱要多:可分配单个邮箱、规划容量、更加的安全、更好的稳定性、个性化名称、邮件发送量更大、附件大小限制等等。
4、企业邮箱
“企业邮箱”是域名邮箱,但通常是指通过付费方式获得更好服务的邮箱。eg:您公司域名为www.abc.com,则SMTP服务器为:mail.abc.com,邮箱地址:office@abc.com;
使用企业邮箱的优势:
1) 提升公司企业形象、邮箱稳定性、邮箱反垃圾反病毒性能、邮件收发速度;
2) 通过购买服务,能适应企业不断升级需求;
3) 为员工分配(域名)企业邮箱,便于将流动员工所有业务联系保留和延续下来;
4) 监控邮件(实际为邮件暗抄送功能),以防公司的机密和重要信息流失;
5) 获得高性能邮件海外转发功能,解决国际高效邮件收发、邮件营销有效投递等问题;
6) 出站电子邮件过滤,比如:敏感字过滤、基于政策邮件加密等等;
7) 等等。
四、.Net提供的关于邮件的类库
在.Net2.0之前的版本,使用System.Web.Mail发送邮件,在2.0之后的版本,使用System.Net.Mail来发送邮件.2.0之后的版本主要用到了.Net2.0之后新增的两个类,分别是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient两个类,在SMTP身份验证方面用到了System.Net.NetworkCredential类。
1、MailMessage
邮件发送功能开发