我爱Aspx >> VC.Net >> <b>用VB设计有安全认证服务的Email</b>
以往各网站的EMail系统均是根据标准的SMTP协议编写的,现在为了更有效地抑制垃圾邮件的泛滥,国内各大免费邮箱提供商纷纷开始采用ESMTP的方式设计E-mail收发服务。发送邮件需要对用户的身份进行验证,如果帐号和密码有误,ESMTP服务器则拒绝发送该邮件返回553错误代码。通过对协议的分析我找到设计这样EMail的方法,我们可以用Visual Baisc轻松完成。
一、 相关知识的介绍
ESMTP(Extension SMTP)即认证的邮件传输方式,是邮件服务器系统为了限制非本系统的正式用户利用本系统散发垃圾邮件或其他不当行为而开设的一项安全认证服务。它与传统的SMTP方式相比,主要的不同有两点:
1. 支持8-bit MIME格式的编码。
2. 支持用户身份的验证。
多了一道用户身份的验证手续,验证之后的邮件发送过程与传统的SMTP方式一致。为了方便用户的使用,绝大多数的ESMTP服务器都继承了POP3服务器的帐号和密码设置体系,也就是说收发邮件都用同一个帐号和密码。
根据[RFC 2554]规范,SMTP的认证功能主要是增加了AUTH命令。AUTH命令有多种用法,而且有多种认证机制。AUTH支持的认证机制主要有LOGIN,CRAM-MD5[注1]等。LOGIN应该是大多数免费邮件服务器都支持的,网易与新浪都支持。下面主要针对LOGIN方式进行介绍,其它方式请根据相应的RFC 规范进行修改。
LOGIN 方式口令-应答过程如下(S:表示服务器返回,C:表示客户端发送)
1. C: AUTH LOGIN
2. S: 334 dXNlcm5hbWU6
3. C: dXNlcm5hbWU6
4. S: 334 cGFzc3dvcmQ6
【我对这篇文章有话说?】
<b>C#数据库事务原理及实践..[05-21]
<b>C#数据库事务原理及实践..[05-21]
<b>Visual C#中运用API函数..[05-21]
<b>水晶报表在VC6.0中的使..[05-21]
<b>编写一个STL 中的CStri..[05-21]
<b>Visual C++编程控制鼠标..[05-21]
<b>简析Visual C++中的活动..[05-21]
<b>VC++编程调用Windows关..[05-21]
<b>深入剖析C++重载函数的..[05-21]
<b>深入理解C语言指针的奥..[05-21]