文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++用BCB开发有身份认证功能的Email程序
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
·TCP/IP网络重复型服务器通信软件的设计
·DirectX游戏开发入门
·经典与现代的结合:在MFC中集成RAD .NET框架
·Windows API-GDI入门基础知识详解(2)
·Visual C++ 入门精解
·C#基础概念二十五问
·用C#实现pdf文件的完整性验证
·成为嵌入式程序员应知道的0x10个问题
·TCP/IP编程实现远程文件传输
·几个C#编程的小技巧
热点TOP10
·学生成绩管理系统实习
·C#编写的windows计算器-源代码
·socket编程原理
·飞机订票系统设计
·C/C++笔试、面试题目大汇总
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·C语言图形函数
·C#基础概念二十五问
·改编 的 C版 职工管理系统
·C语言的常用库函数使用方法分析及用途
·用C语言实现Ping程序功能
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·C# GridView 排序及分页
·进程调度模拟程序
·Windows下C语言网络编程快速入门
·通讯录的源代码(用链表实现)
·DirectX游戏开发入门
·在Visual Studio.NET中使用Crystal Report(上)
·asp.net中调用javascript函数实现多功能日期控件示例

用BCB开发有身份认证功能的Email程序

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


    摘 要 本文介绍了如何增强BCB中发送电子邮件的NMSMTP控件的功能,实现具有身份认证功能的邮件发送程序。

    关键词 ESMTP,MIME,身份认证

    引言

    为了更有效地抑制垃圾邮件的泛滥,目前多数网站的邮件收发系统都使用了ESMTP服务的身份认证功能。即用户发送邮件时,需要对用户的身份进行验证,如果帐号或密码错误,邮件服务器会拒绝发送邮件。Borland C++ Builder 6中有丰富的控件供开发者使用,其中当然也包括邮件发送控件NMSMTP,这个控件使用方便,但是惟一的缺点是不支持邮件发送时的身份认证功能。笔者通过对邮件发送协议的分析,在使用控件的基础上设计了具有身份认证功能的邮件发送程序。

    ESMTP协议分析

    为了实现身份认证功能,目前ESMTP协议中增加了一部分内容,这就是身份认证。下面我们看看这段认证过程,以笔者在网易的邮箱为例(其中C表示客户端,S表示邮件服务器):

    (1)C: AUTH LOGIN

    (2)S: 334 dXNlcm5hbWU6

    (3)C: d3lxX2puX3NkX2Nu

    (4)S: 334 UGFzc3dvcmQ6

    (5)C: 密码略去

    (6)S: 235 Authentication successful

    详细说明:

    (1)客户端向服务器发送认证指令。

    (2)服务器返回Base64编码串,334意味成功。编码字符串解码后为"username:",说明要求客户端发送用户名。

    (3)客户端发送Base64编码的用户名串,此处为"wyq_jn_sd_cn".

    (4)服务器返回Base64编码串,334意味成功。编码字符串解码后为"password:",说明要求客户端发送用户口令。

    (5)客户端发送Base64编码的口令串,此处略去。

    (6)服务器返回普通字符串,235意味成功,表示认证成功可以发送邮件了。

    MIME Base64编码解释

    一般的计算机编码的一个字节是8bit,0——FF就是256种不同的8bit组合。我们现在要介绍的这种Base64编码则是每个字节6bit,共有26=64种组合。其中每种组合对应一个字符,这些字符是“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567 89+/.”这就意味着每3个普通编码可以转换成4个Base64编码,那么如果需要转换的普通编码不是3的整数倍怎么办?Base64规定,位数不足的字节后面补0,然后差几个字符补几个‘=’号。

    设计思路

    我们可以使用NMSMTP控件与邮件服务器连接。通过调用Connect方法,然后监听OnConnect事件;在OnConnect事件里我们可以增加身份认证功能。这里是主要利用了NMSMTP从Powersock中继承的一些基本网络通讯函数,包括Read,DataAvailable,SendBuffer等来实现身份认证过程。如果身份认证成功,就可以继续进行邮件发送;否则,提示错误信息,断开网络连接。

程序实现

  使用BCB设计如图1所示的窗体。

用BCB开发有身份认证功能的Email程序


图1 程序主界面

  1、在登录按钮的OnClick事件中调用连接函数

void __fastcall TForm1::Logon1Click(TObject *Sender)

{

   AddLog("正在登录"+Edit1->Text+"......");

   NMSMTP1->Host = Edit1->Text;      //主机地址

   NMSMTP1->Port = 25;      //主机端口,缺省为25

   NMSMTP1->UserID = Edit4->Text;     //用户名

   NMSMTP1->Connect();      //连接主机

}

 

   2、处理OnConnect事件


[1] [2] [3] 下一页 




上一篇:socket编程原理

下一篇:一些常用网络工具历史记录的清理

用BCB开发有身份认证功能的Email程序 相关文章:
·暗黑破坏神2:毁灭之王 符文物品、符石功能、赫拉笛克方块等 - 游戏秘籍
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·屏蔽五项网络功能 让XP系统极速狂飙
·不用任何软件(木马程序)盗取账号密码
·EZ-USB 68013A开发指南
·Visual Studio 2005集成开发环境图解
·破解程序及注册机使用方法
·Dreamweaver MX 2004做ASP程序(4)用户注册系统
·板载RAID功能制作磁盘阵列并安装操作系统
·为什么EXCEL身份证号码都科学计数法?
用BCB开发有身份认证功能的Email程序 相关软件:
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·中国少年儿童智力开发百科全书(上中下)高清PDF全彩图书
·C语言程序设计
·公司企业网站管理系统模板功能强大版
·Windows环境下32位汇编语言程序设计
·QQ显IP 显隐身超级版 2款不同功能最新QQ版本 友情下载
·FLASH个人简历源程序(FLA)
·C语言程序设计视频教程 CSF 教材:谭浩强《c程序设计》
·金山词霸2006 SP1 with 牛津英汉双解词典 全功能第二版
·零起点教你如何破解软件和制作注册机 and 视频+程序

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot