| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
|
摘要:本文介绍了一种采用smtp协议规范并通过直接使用smtp协议命令而在程序中实现电子邮件传送的方法。并在vc++开发环境下给出了部分关键的实现代码。前言 电子邮件服务作为internet上应用最多和最广的服务项目得到了非常广泛的应用,在网络应用中也起到非常重要的作用。如同其他的网络服务,电子邮件系统也有其使用的传输协议,包括smtp(simple mail transfer protocol,简单邮件传输协议)、pop(post office protocol,邮局协议)和imap(internet message access protocal,消息访问协议)等,这些协议应用于电子邮件的发送和接收。一些邮件处理软件如outlook express和foxmail等就是按照smtp和pop3 协议结合windows sockets套接字进行设计来收发邮件的。本文以smtp协议为研究对象,在visual c++ 6.0编程环境下按照smtp协议通过套接字发送smtp命令,接收并处理邮件服务器的反馈信息,从而实现对电子邮件的发送。 smtp协议的通讯模型和会话流程 smtp协议通讯模型 smtp协议是tcp/ip协议族中的一员,主要对如何将电子邮件从发送方地址传送到接收方地址,也即是对传输的规则做了规定。smtp协议的通信模型并不复杂,主要工作集中在发送smtp和接收smtp上:首先针对用户发出的邮件请求,由发送smtp建立一条连接到接收smtp的双工通讯链路,这里的接收smtp是相对于发送smtp而言的,实际上它既可以是最终的接收者也可以是中间传送者。发送smtp负责向接收smtp发送smtp命令,而接收smtp则负责接收并反馈应答。可大致用下面的通讯模型示意图来表示:
smtp协议的命令和应答 从前面的通讯模型可以看出smtp协议在发送smtp和接收smtp之间的会话是靠发送smtp的 smtp命令和接收smtp反馈的应答来完成的。在通讯链路建立后,发送smtp发送mail命令指令邮件发送者,若接收smtp此时可以接收邮件则作出ok的应答,然后发送smtp继续发出rcpt命令以确认邮件是否收到,如果接收到就作出ok的应答,否则就发出拒绝接收应答,但这并不会对整个邮件操作造成影响。双方如此反复多次,直至邮件处理完毕。smtp协议共包含10个smtp命令,列表如下:
注:<crlf>为回车、换行,ascii码分别为13、10(十进制)。 smtp协议的每一个命令都会返回一个应答码,应答码的每一个数字都是有特定含义的,如第一位数字为2时表示命令成功;为5表失败;3表没有完成。一些较复杂的邮件程序利用该特点,首先检查应答码的首数字,并根据其值来决定下一步的动作。下面将smtp的应答码列表如下:
共2页。 1 2 8 : 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:vc++实现gps全球定位系统定位数据的提取 下一篇:使用visual c++开发soap客户端应用 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||