一种邮件传送方法及系统的制作方法

文档序号:7744684阅读:392来源:国知局
专利名称:一种邮件传送方法及系统的制作方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种邮件传送方法及系统。
背景技术
电子邮件(E-mail)是目前国际上应用最广泛的计算机数据通信方式,图片、公 文、影音等各种计算机文件均可由E-mail的方式传送给接收者,E-mail的应用给人们生活 带来了极大的方便。SMTP (Simple Mail Transfer Protocol,简单邮件传输协议)是 80 年代初以 RFC821标准文档方式制定的通讯协议,也是目前邮件系统普遍应用的通讯协议。SMTP协议 支持ASCII编码的二进制传输,在发信过程中,邮件系统采用编码方式将各种类型的附件 文件编码成标准的ASCII字符串,并将该字符串添加到电子邮件的正文内容后的特殊位置 上。当接收方收到邮件后,读取邮件内容,并找到相应的附件字符串位置,对该字符串进行 解码,得到附件文件。然而,现有的基于标准SMTP协议的邮件传送方法,由于只能传输简单的ASCII字 符,当电子邮件附带图片、语音等大容量附件时,编码后的传输信息量增大,浪费了网络带 宽及邮件存储空间。并且,现有的SMTP通讯协议不提供校验机制,发信客户端可以伪造发 信方信息,接收方无法确认发送方确实是其所声称的发信人。

发明内容
本发明实施例提出一种邮件传送方法及系统,支持无需ASCII编码的邮件传输, 减少了邮件的网络带宽;并设有校验机制对客户端的合法性进行验证,可避免发信客户端 伪造发信人信息,提高网络的安全性。本发明实施例提供一种邮件传送方法,包括客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方 式和随机数;客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向 服务器发送包含所述第一校验码的邮件投递请求指令;服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;经验证确定客户端合法后,客户端根据服务器所支持的邮件压缩方式对邮件正文 进行压缩,并将压缩后的邮件发送至服务器。进一步的,所述客户端将邮件成功发送至所述服务器后,还包括客户端向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述撤回 邮件请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;服务器根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则根据 所述邮件标识和收信人信息查找所要撤回的邮件;若服务器查找到所要撤回的邮件,则向所述客户端返回允许撤回邮件的响应信息,否则返回拒绝撤回邮件的响应信息;客户端接收到允许撤回邮件的响应信息后,向服务器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随机数是 客户端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌握,并 在发送邮件时保存在服务器中;服务器将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两 者相同,则根据所述特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。相应地,本发明实施例还提供了 一种邮件系统,包括客户端和服务器;所述客户端具体包括协议信息获取模块,用于向服务器发送请求获知通讯协议的指令,获得服务器所 支持的邮件压缩方式和随机数;投递指令处理模块,用于根据预定的校验运算规则对所述随机数进行运算,生成 第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;邮件发送模块,用于根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并 将压缩后的邮件发送至所述服务器;所述服务器具体包括协议信息返回模块,用于在接收到客户端发送的请求获知通讯协议的指令后,向 客户端返回服务器所支持的邮件压缩方式和随机数;投递验证模块,用于根据所述邮件投递请求指令中的信息对客户端的合法性进行 验证;邮件接收模块,用于接收合法客户端发送的经过压缩的邮件。更进一步的,所述客户端还包括第一撤回请求模块,用于向服务器发送撤回邮件请求指令,请求撤回已成功发送 的邮件;所述请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;第二撤回请求模块,用于在接收到服务器返回的允许撤回邮件的响应信息后,向 服务器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人 随机数;其中,所述收信人随机数是客户端在发送邮件时为各个收信人分配的随机数,所述 收信人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;则所述服务器也进一步包括撤回验证模块,用于根据所述撤回邮件请求指令中的信息验证客户端是否合法, 若是,则根据所述邮件标识和收信人信息查找所要撤回的邮件,并在查找到所要撤回的邮 件后,向所述客户端返回允许撤回邮件的响应信息;否则返回拒绝撤回邮件的响应信息;撤回处理模块,用于在收到客户端发送的撤回特定的收信人的邮件的请求指令 后,将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同,则根 据客户端发送的特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。实施本发明实施例,具有如下有益效果本发明实施例提供的邮件传送方法及系统,在邮件传送过程中,通过对邮件正文 进行压缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。本发明实施例 还设有校验机制,对客户端的合法性进行验证,可避免发信客户端伪造发信人信息,提高网络的安全性;并且通过添加验证机制,还可支持邮件撤回功能,且避免了执行撤回操作的发 信人被冒充的风险。


图1是本发明提供的邮件传送方法的第一实施例的流程示意图;
图2是本发明提供的邮件传送方法的第二实施例的流程示意图;图3是本发明提供的邮件传送方法的第三实施例的流程示意图;图4是本发明提供的邮件传送方法的第四实施例的流程示意图;图5是本发明提供的邮件系统的第一实施例的结构示意图;图6是本发明提供的邮件系统的第二实施例的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。参见图1,是本发明提供的邮件传送方法的第一实施例的流程示意图。本实施例在 邮件传送过程中,通过对邮件正文进行压缩,可支持无需ASCII编码的邮件传输,大大减少 了邮件的网络带宽。该方法包括以下步骤S101,客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件 压缩方式和随机数;具体的,所述请求获知通讯协议的指令中包含客户端的域名信息;服务器接收到 所述指令后,根据指令中的域名信息向对应的客户端返回通讯协议信息,所述通讯协议信 息包含服务器所支持的协议版本号、邮件压缩方式和一个用于后续通讯过程验证客户端身 份的随机数。S102,客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码, 并向服务器发送包含所述第一校验码的邮件投递请求指令;具体的,客户端根据预定的校验运算规则对第一属性信息进行运算,获得第一校 验码;所述第一属性信息包含发信人信息、收信人信息、许可证信息和服务器返回的随机 数;客户端向服务器发送邮件投递请求指令,所述邮件投递请求指令包含发信人信息、收信 人信息、许可证信息和第一校验码。S103,服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证; 具体如下服务器收到客户端发送的邮件投递请求指令后,根据预定的校验运算规则对第二 属性信息进行运算,获得第二校验码;所述第二属性信息包含所述邮件投递请求指令中的 发信人信息、收信人信息、许可证信息和保存在服务器中的随机数;服务器将所述第二校验码与所述邮件投递请求指令中的第一校验码进行比较,若 两者相同,则通过校验码验证;服务器对客户端发送的许可证信息进行验证,判断所述客户端是否具有使用本服务器所支持的通讯协议传送邮件的权限,若有,则通过权限验证;若通过校验码验证和权限验证,则确定所述客户端合法,允许所述客户端发送邮件;否则拒绝所述客户端发送邮件。S104,经验证确定客户端合法后,所述客户端根据服务器所支持的邮件压缩方式 邮件正文进行压缩,并将压缩后的邮件发送至所述服务器。其中,所述邮件正文包括邮件附 件。具体实施时,本发明实施例可以采用LZSS、deflate等成熟的压缩算法对邮件正文进行 压缩。参见图2,是本发明提供的邮件传送方法的第二实施例的流程示意图。与上述第一实施例的邮件传送方法相比,本实施例的不同点在于,当客户端将邮 件成功发送至服务器后,还支持邮件撤回功能。本实施例除了包括上述的步骤SlOl S104 夕卜,还进一步包括以下步骤S201,客户端向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述 撤回邮件请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;其中,“邮件标识”是发信人发出的邮件的唯一 ID,只有发信的特定的人才掌握这 个ID。所述第三校验码是由客户端运算获得,包括客户端根据预定的校验运算规则对 第三属性信息进行运算,获得第三校验码;所述第三属性信息包含邮件标识、收信人信息、 许可证信息和服务器返回的随机数。S202,服务器根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则 根据所述邮件标识和收信人信息查找所要撤回的邮件;其中,验证客户端的合法性的方法具体如下服务器收到客户端发送的撤回邮件 请求指令后,根据预定的校验运算规则对第四属性信息进行运算,获得第四校验码;所述第 四属性信息包含所述撤回邮件请求指令中的邮件标识、收信人信息、许可证信息和保存在 服务器中的随机数;服务器将所述第四校验码与所述撤回邮件请求指令中的第三校验码进 行比较,若两者相同,则判定客户端合法;否则判定客户端不合法。S203,若服务器查找到所要撤回的邮件,则向所述客户端返回允许撤回邮件的响 应信息,否则返回拒绝撤回邮件的响应信息;S204,客户端接收到允许撤回邮件的响应信息后,向服务器发送撤回特定的收信 人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随 机数是客户端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌 握,并在发送邮件时保存在服务器中;S205,服务器将客户端发送的收信人随机数与自身保存的收信人随机数进行比 较,若两者相同,则根据所述特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮 件操作。为了方便说明,下面将服务器所支持的通讯协议称为邮件私有协议,该邮件私有 协议是在兼容标准SMTP通讯协议的基础上,对SMTP通讯协议进行扩展。通过对二进制编 码进行压缩,使其支持无需ASCII编码的二进制传输,减少了邮件的网络带宽。并且,通过 在通讯协议中添加验证机制,使其支持邮件撤回功能。下面以邮件私有协议作为邮件通讯协议,对本发明实施例提供的邮件投递过程及邮件撤回过程进行详细描述。参见图3,是本发明提供的邮件传送方法的第三实施例的流程示意图。下面对邮件投递过程进行详细描述,如图3所示,邮件投递过程如下
S3Ol,连接服务器;S302,服务器返回banner信息;其中,banner信息相当于“欢迎信息”,其包含了服 务器所支持的邮件通讯协议。S303,客户端向服务器发送EHLO指令。该EHLO指令的作用是请求获知服务器所 支持的通讯协议及其扩展,EHLO指令中包含了客户端的域名信息。S304,服务器接收到EHLO指令后,根据EHLO指令中的域名信息向对应的客户端返 回“EHL0返回信息”,该“EHL0返回信息”中包含了服务器所支持的邮件协议扩展(协议版 本号)、邮件压缩方式和一个随机数。客户端可以通过判断服务器是否返回邮件压缩的协议 扩展信息,来获知服务器是否支持邮件压缩功能。其中,所述随机数是在服务器端通过随机 数生成函数产生的,并且,该随机数同时保存在服务器中。客户端无法预知该随机数的具体 值,该随机数在后续的通讯过程中用于验证发信客户端的合法性。需要说明的是,步骤S301 S304的信息交互过程与标准的SMTP通讯协议相同, 在此不进行详细描述。客户端接收到“EHL0返回信息”后,根据其中的协议版本号判断服务器是否支持邮 件私有协议,若是,则执行S305 ;否则,客户端采用标准的SMTP通讯协议发送邮件。S305,客户端向服务器发送邮件私有协议指令(C0REMAIL指令),该指令包含了客 户端的许可证(license)信息;S306,服务器检查客户端发送的license信息,判断该客户端是否具有使用邮件 私有协议的权限;若有,则服务器使用邮件私有协议进行通讯,执行S307 ;否则,切换到标 准的SMTP协议继续通讯。S307,客户端向服务器发送邮件投递请求指令,该邮件投递请求指令中包含了发 信人(MAIL)信息、收信人(RCPT)信息、license信息、第一校验码、邮件压缩方式等信息。其中,所述第一校验码是客户端通过特定的校验运算规则计算获得的,供服务器 验证发信客户端是否合法。具体如下客户端根据预定的校验运算规则对第一属性信息 进行运算,获得第一校验码。该第一属性信息包含了随机数、发信人信息、收信人信息、 license信息及其他属性数据。S308,服务器接收客户端发送的邮件投递请求指令后,对客户端的合法性进行验 证,并返回验证结果。具体如下服务器收到客户端发送的邮件投递请求指令后,提取该指令中的发信人信息、收 信人信息及license信息及其他属性数据,与自身保存的随机数组成第二属性信息。服务 器根据预定的校验运算规则对第二属性信息进行运算,获得第二校验码,并将该第二校验 码与客户端发送的第一校验码进行比较,若两者相同,则通过校验码验证;否则校验码验证 不通过。客户端与服务器具有相同的校验运算规则,若通过校验码验证,即第一属性信息 与第二属性信息相同,则表明了服务器所收到的发信人信息、收信人信息及license信息 没有篡改过,发信人和收信人合法。同时,用于生成校验码的属性信息中包含随机数,避免了发信客户端通过截留之前的通讯信息并重新发送来绕开验证机制。进一步,服务器还根据邮件投递请求指令中的license信息,再次检查对应的客 户端是否具有使用私有协议的权限。最后,服务器针对每种验证分别返回一个验证结果,若其中一个验证结果不合法, 则拒绝客户端发送邮件正文;若全部合法,则允许客户端发送邮件正文。具体的,服务器向 客户端返回的信息包括发信人的验证结果、每个收信人的验证结果以及是否允许客户端 发送邮件正文。客户端接收服务器返回的验证结果,若服务器允许发送邮件正文,则执行步骤S309,否则结束邮件投递程序。S309,客户端根据之前商定好的邮件压缩方式,对邮件正文(包括附件)进行压 缩,并发送到服务器。S310,服务器对邮件进行Antispam(反垃圾)检查后,向客户端返回是否成功接收 邮件的响应信息。本发明实施例提供的邮件传送方法及系统,在邮件传送过程中,通过对邮件正文 进行压缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。本发明实施例 还设有校验机制,对客户端的合法性进行验证,可避免发信客户端伪造发信人信息,提高网 络的安全性。并且,当验证不通过时,服务器拒绝接收客户端的邮件,无需耗费额外的资源 对客户端发送过来的信息进行解压,减少了无谓的资源消耗及恶意的客户端程序的騷扰。参见图4,是本发明提供的邮件传送方法的第四实施例的流程示意图。与上述的第三实施例相比,本实施例的不同点在于当客户端将邮件成功发送至 服务器后,还支持邮件撤回功能。如图4所示,邮件撤回过程如下S401,连接服务器;S402,服务器返回banner信息,该banner信息中包含了服务器所支持的邮件通讯 协议。S403,客户端发送EHLO指令到服务器,请求获取服务器所支持的通讯协议扩展; 其中,EHLO指令中包含了客户端的域名信息。S404,服务器接收到EHLO指令后,根据EHLO指令中的域名信息向对应的客户端返 回“EHL0返回信息”,该“EHL0返回信息”中包含了服务器所支持的邮件协议扩展(协议版 本号)、邮件压缩方式和一个随机数。客户端可以通过判断服务器是否返回邮件压缩及撤回 的协议扩展信息,来获知服务器是否支持邮件压缩及撤回功能。其中,所述随机数是在服务 器端通过随机数生成函数产生的,并且,该随机数同时保存在服务器中。客户端无法预知该 随机数的具体值,该随机数在后续的通讯过程中用于验证发信客户端的合法性。需要说明的是,步骤S401 S404中的信息交互过程与标准的SMTP通讯协议相 同,在此不进行详细描述。客户端接收到“EHL0返回信息”后,根据其中的协议版本号判断服务器是否支持邮 件私有协议,若是,则执行S405 ;否则结束邮件撤回程序。S405,客户端向服务器发送邮件私有协议指令(CMRECALL指令),该指令包含了客 户端的license信息;S406,服务器检查客户端发送的license信息,确定该客户端是否具有撤回邮件的权限。主要是检查license的邮件撤回功能是否打开,以及服务器是否允许这个域名的 发信人撤回邮件。若允许,则执行步骤S407 ;否则结束邮件撤回程序。可选的,服务器可以预先存储不接受撤回请求的域名,若客户端的域名属于不接 受撤回请求的域名,则结束邮件撤回程序。具体实施时,只要客户端能以本发明的邮件私有协议发送请求,并通过了验证,即 可接受相关的邮件撤回请求。S407,客户端向服务器发送撤回邮件请求指令;该撤回邮件请求指令包含以下信息邮件标识、收信人信息、license信息、撤回 原因、IP地址和第三校验码。其中“邮件标识”是发信人发出的邮件的唯一 ID,只有发信的特定的人才掌握这个ID ;“IP地址”是执行撤回操作的发送请求的IP,用于事后审核跟踪撤回请求;“第三校验码”是客户端通过特定的校验运算规则计算获得的,用于后续通信过程 中供服务器验证发信客户端的合法性;生成“第三校验码”的方法如下客户端采用预定的 校验运算规则对第三属性信息进行运算,获得第三校验码。该第三属性信息包含了随机数、 邮件标识、收件人信息、license信息、撤回原因、执行撤回操作的IP地址以及其他属性数 据。S408,服务器收到客户端发送的撤回邮件请求指令后,对该指令中的信息进行验 证,并向客户端返回验证结果;具体如下服务器收到客户端发送的撤回邮件请求指令后,提取该指令中的邮件标识,收件 人信息、license信息、撤回原因、执行撤回操作的IP地址及其它属性数据,与自身保存的 随机数组成第四属性信息。服务器根据预定的校验运算规则对第四属性信息进行运算,获 得第四校验码,并将该第四校验码与客户端发送的第三校验码进行比较,若两者相同,则通 过校验码验证;否则校验码验证不通过。客户端与服务器具有相同的校验运算规则,若通过校验码验证,则表明了服务器 所收到的邮件标识(ID)、license、撤回原因、执行撤回操作的IP地址没有篡改过,避免了 发信人被冒充的风险。同时,用于生成校验码的属性信息中包含随机数,避免了发信客户端 通过截留之前的通讯信息并重新发送来绕开验证机制。校验码验证通过后,服务器检查所要撤回的邮件是否存在,具体为服务器根据该 撤回邮件请求指令中的邮件标识和收信人信息,通过查找每个需要撤回的收信人的邮件信 息,从每个收信人的信箱中查找出所要被撤回的邮件,若邮件存在,则允许客户端撤回;但 是,若邮件已经被收信人读取,或已经被收信人删除,在这些情况下撤回操作都将失败。最后,服务器向客户端返回验证结果允许或拒绝客户端的撤回邮件请求。客户端收到服务器返回的验证结果后,若允许撤回邮件,则执行步骤S409 ;否则 结束邮件撤回程序。S409,客户端向服务器发送撤回特定收信人的邮件的请求指令,该请求指令包含 以下信息特定收信人列表、收信人随机数。其中“特定收信人列表”记录所要撤回的特定收信人的列表;由于所要撤回的邮件有可 能具有多个收信人,因此,客户端可以请求中撤回特定收信人的邮件。例如,客户端可以请 求撤回其中一个收信人的邮件,或者撤回全部收信人的邮件。
“收信人随机数”是由客户端通过随机数生成函数产生的;发信人在发出邮件时, 会给各个收信人分别分配一个随机数,即“收信人随机数”。只有特定的发信人才掌握这些 随机数,收信人无法获知该随机数的具体值。在发送邮件时,客户端将该“收信人随机数”发 送至服务器,并存储在服务器中,用于后续邮件撤回过程中对执行撤回操作的发信人进行 验证。S410,服务器接收到客户端发送的“撤回特定收信人的邮件的请求指令”后,将所 接收到的“收信人随机数”与自身保存的“收信人随机数”进行比较,判断两者是否相同,若 是,则服务器根据客户端发送的特定收信人列表,撤回特定的收信人的邮件;否则不执行撤 回邮件操作。最后,服务器向客户端返回邮件撤回是否成功的结果。在具体实施当中,例如A发送邮件给B、C,则B是可以通过查看信头获知发信方邮 件的唯一 ID,若B掌握了校验方式,则B有可能冒充A撤回邮件。为了克服这个缺点,本发 明实施例在A向B、C发出邮件时,A会给B、C各自分配一个随机数,这些随机数只有A知 道。在后续的撤回邮件过程中,通过添加验证机制对发信人随机数进行验证,避免了发信人 被冒充的风险。本发明实施例提供的邮件传送方法,在邮件传送过程中,通过对邮件正文进行压 缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。本发明实施例还设有 校验机制,对客户端的合法性进行验证,可避免发信客户端伪造发信人信息,提高网络的安 全性;并且通过添加验证机制,还可支持邮件撤回功能,且避免了执行撤回操作的发信人被 冒充的风险。相应地,本发明实施例还提供了一种邮件系统,其支持邮件私有协议,具有邮件压 缩和邮件撤回功能,能够实现上述邮件传送方法中的所有步骤。参见图5,是本发明实施例提供的邮件系统的第一实施例的结构示意图,该邮件系 统包括客户端1和服务器2。如图5所示,所述客户端1具体包括协议信息获取模块11,用于向服务器2发送请求获知通讯协议的指令,获得服务 器2所支持的邮件压缩方式和随机数;投递指令处理模块12,用于根据预定的校验运算规则对所述随机数进行运算,生 成第一校验码,并向服务器2发送包含所述第一校验码的邮件投递请求指令;邮件发送模块13,用于根据服务器2所支持的邮件压缩方式邮件正文进行压缩, 并将压缩后的邮件发送至所述服务器2 ;具体的,所述投递指令处理模块12进一步包括第一校验码生成单元,用于根据 预定的校验运算规则对第一属性信息进行运算,获得第一校验码;所述第一属性信息包含 发信人信息、收信人信息、许可证信息和服务器2返回的随机数;投递指令发送单元,用于 向服务器2发送邮件投递请求指令,所述邮件投递请求指令包含发信人信息、收信人信息、 许可证信息和第一校验码。如图5所示,所述服务器2具体包括协议信息返回模块21,用于在接收到客户端1发送的请求获知通讯协议的指令 后,向客户端1返回服务器2所支持的邮件压缩方式和随机数;投递验证模块22,用于根据所述邮件投递请求指令中的信息对客 户端1的合法性进行验证;邮件接收模块23,用于接收合法客户端1发送的经过压缩的邮件。具体的,所述客户端1中的协议信息获取模块11所发送的请求获知通讯协议的指 令中包含该客户端1的域名信息;则所述服务器2中的协议信息返回模块21在接收到所述 包含域名信息的指令后,根据所述域名信息向对应的客户端1返回通讯协议信息;所述通 讯协议信息包含服务器2所支持的协议版本号、邮件压缩方式和一个用于后续通讯过程验 证客户端1身份的随机数。更为具体的,所述服务器2中的投递验证模块22进一步包括第二校验码生成单元,用于根据预定的校验运算规则对第二属性信息进行运算, 获得第二校验码;所述第二属性信息包含所述邮件投递请求指令中的发信人信息、收信人 信息、许可证信息和保存在服务器2中的随机数;校验码验证单元,用于将所述第二校验码与所述邮件投递请求指令中的第一校验 码进行比较,若两者相同,则通过校验码验证;投递权限验证单元,用于对客户端1发送的许可证信息进行验证,判断所述客户 端1是否具有使用本服务器所支持的通讯协议传送邮件的权限,若有,则通过权限验证;验证结果返回单元,在通过校验码验证和权限验证后,向客户端1返回允许发送 邮件的响应信息;否则向客户端1返回拒绝发送邮件的响应信息。参见图6,是本发明实施例提供的邮件系统的第二实施例的结构示意图。与上述的第一实施例的邮件系统相比,本实施例的不同点在于,该客户端1除了 包括协议信息获取模块11、投递指令处理模块12和邮件发送模块13之外,还进一步包括第一撤回请求模块14,用于向服务器2发送撤回邮件请求指令,请求撤回已成功 发送的邮件;所述请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;第二撤回请求模块15,用于在接收到服务器2返回的允许撤回邮件的响应信息 后,向服务器2发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、 收信人随机数;其中,所述收信人随机数是客户端1在发送邮件时为各个收信人分配的随 机数,所述收信人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;更为具体的,所述第一撤回请求模块14还包括第三校验码生成单元,用于根据预定的校验运算规则对第三属性信息进行运算, 获得第三校验码;所述第三属性信息包含邮件标识、收信人信息、许可证信息和服务器返回 的随机数;撤回指令发送单元,用于向服务器2发送撤回邮件请求指令,所述撤回邮件请求 指令包含邮件标识、收信人信息、许可证信息和第三校验码。与上述的第一实施例的邮件系统相比,本实施例的另一个不同点在于,该服务器2 除了包括协议信息返回模块21、投递验证模块22和邮件接收模块23之外,还进一步包括撤回验证模块24,用于根据所述撤回邮件请求指令中的信息验证客户端1是否合 法,若是,则根据所述邮件标识和收信人信息查找所要撤回的邮件,并在查找到所要撤回的 邮件后,向所述客户端1返回允许撤回邮件的响应信息;否则返回拒绝撤回邮件的响应信 息;撤回处理模块25,用于在收到客户端1发送的撤回特定的收信人的邮件的请求指令后,将客户端1发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同, 则根据客户端1发送的特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。更为具体的,所述撤回验证模块24还包括第四校验码生成单元,用于根据预定的校验运算规则对第四属性信息进行运算, 获得第四校验码;所述第四属性信息包含所述撤回邮件请求指令中的邮件标识、收信人信 息、许可证信息和保存在服务器中的随机数;验证单元,用于将所述第四校验码与所述撤回邮件请求指令中的第三校验码进行 比较,若两者相同,则判定客户端1合法,并根据所述邮件标识和收信人信息查找所要撤回 的邮件,在查找到所要撤回的邮件后,向所述客户端1返回允许撤回邮件的响应信息;否则 返回拒绝撤回邮件的响应信息。需要说明的是,本发明实施例提供的邮件系统,支持邮件私有协议,具有邮件压缩 和邮件撤回功能,其投递邮件和撤回邮件的工作流程与上述实施例中的邮件传送方法相 同,在此不再赘述。本发明实施例提供的邮件系统,可用于实现邮件投递和邮件撤回,在邮件传送过 程中,通过对邮件正文进行压缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网 络带宽。本发明实施例还设有校验机制,对客户端的合法性进行验证,可避免发信客户端伪 造发信人信息,提高网络的安全性;并且通过添加验证机制,还可支持邮件撤回功能,且避 免了执行撤回操作的发信人被冒充的风险。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为 本发明的保护范围。
权利要求
一种邮件传送方法,其特征在于,包括客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数;客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;经验证确定客户端合法后,客户端根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并将压缩后的邮件发送至服务器。
2.如权利要求1所述的邮件传送方法,其特征在于,所述客户端向服务器发送请求获 知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数,具体包括客户端向服务器发送请求获知通讯协议的指令,所述指令包含客户端的域名信息; 服务器接收到所述指令后,根据指令中的域名信息向对应的客户端返回通讯协议信 息,所述通讯协议信息包含服务器所支持的协议版本号、邮件压缩方式和一个用于后续通 讯过程验证客户端身份的随机数。
3.如权利要求2所述的邮件传送方法,其特征在于,所述客户端根据预定的校验运算 规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮 件投递请求指令,具体包括客户端根据预定的校验运算规则对第一属性信息进行运算,获得第一校验码;所述第 一属性信息包含发信人信息、收信人信息、许可证信息和服务器返回的随机数;客户端向服务器发送邮件投递请求指令,所述邮件投递请求指令包含发信人信息、收 信人信息、许可证信息和第一校验码。
4.如权利要求3所述的邮件传送方法,其特征在于,所述服务器根据所述邮件投递请 求指令中的信息对客户端的合法性进行验证,具体包括服务器收到客户端发送的邮件投递请求指令后,根据预定的校验运算规则对第二属性 信息进行运算,获得第二校验码;所述第二属性信息包含所述邮件投递请求指令中的发信 人信息、收信人信息、许可证信息和保存在服务器中的随机数;服务器将所述第二校验码与所述邮件投递请求指令中的第一校验码进行比较,若两者 相同,则通过校验码验证;服务器对客户端发送的许可证信息进行验证,判断所述客户端是否具有使用本服务器 所支持的通讯协议传送邮件的权限,若有,则通过权限验证;若通过校验码验证和权限验证,则确定所述客户端合法,允许所述客户端发送邮件;否 则拒绝所述客户端发送邮件。
5.如权利要求1 4任一项所述的邮件传送方法,其特征在于,所述客户端将邮件成功 发送至所述服务器后,还包括客户端向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述撤回邮件 请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;服务器根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则根据所述 邮件标识和收信人信息查找所要撤回的邮件;若服务器查找到所要撤回的邮件,则向所述客户端返回允许撤回邮件的响应信息,否则返回拒绝撤回邮件的响应信息;客户端接收到允许撤回邮件的响应信息后,向服务器发送撤回特定的收信人的邮件的 请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随机数是客户 端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌握,并在发 送邮件时保存在服务器中;服务器将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相 同,则根据所述特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。
6.如权利要求5所述的邮件传送方法,其特征在于,所述第三校验码是由客户端运算 获得,包括客户端根据预定的校验运算规则对第三属性信息进行运算,获得第三校验码; 所述第三属性信息包含邮件标识、收信人信息、许可证信息和服务器返回的随机数。
7.如权利要求6所述的邮件传送方法,其特征在于,所述服务器根据所述撤回邮件请 求指令中的信息验证客户端是否合法,包括服务器收到客户端发送的撤回邮件请求指令后,根据预定的校验运算规则对第四属性 信息进行运算,获得第四校验码;所述第四属性信息包含所述撤回邮件请求指令中的邮件 标识、收信人信息、许可证信息和保存在服务器中的随机数;服务器将所述第四校验码与所述撤回邮件请求指令中的第三校验码进行比较,若两者 相同,则判定客户端合法;否则判定客户端不合法。
8.一种邮件系统,包括客户端和服务器,其特征在于,所述客户端包括协议信息获取模块,用于向服务器发送请求获知通讯协议的指令,获得服务器所支持 的邮件压缩方式和随机数;投递指令处理模块,用于根据预定的校验运算规则对所述随机数进行运算,生成第一 校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;邮件发送模块,用于根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并将压 缩后的邮件发送至所述服务器; 所述服务器包括协议信息返回模块,用于在接收到客户端发送的请求获知通讯协议的指令后,向客户 端返回服务器所支持的邮件压缩方式和随机数;投递验证模块,用于根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;邮件接收模块,用于接收合法客户端发送的经过压缩的邮件。
9.如权利要求8所述的邮件系统,其特征在于,所述协议信息获取模块所发送的请求 获知通讯协议的指令中包含客户端的域名信息;则所述协议信息返回模块在接收到所述包含域名信息的指令后,根据所述域名信息向 对应的客户端返回通讯协议信息;所述通讯协议信息包含服务器所支持的协议版本号、邮 件压缩方式和一个用于后续通讯过程验证客户端身份的随机数。
10.如权利要求9所述的邮件系统,其特征在于,所述客户端中的投递指令处理模块具 体包括第一校验码生成单元,用于根据预定的校验运算规则对第一属性信息进行运算,获得 第一校验码;所述第一属性信息包含发信人信息、收信人信息、许可证信息和服务器返回的随机数;投递指令发送单元,用于向服务器发送邮件投递请求指令,所述邮件投递请求指令包 含发信人信息、收信人信息、许可证信息和第一校验码。
11.如权利要求10所述的邮件系统,其特征在于,所述服务器中的投递验证模块具体 包括第二校验码生成单元,用于根据预定的校验运算规则对第二属性信息进行运算,获得 第二校验码;所述第二属性信息包含所述邮件投递请求指令中的发信人信息、收信人信息、 许可证信息和保存在服务器中的随机数;校验码验证单元,用于将所述第二校验码与所述邮件投递请求指令中的第一校验码进 行比较,若两者相同,则通过校验码验证;投递权限验证单元,用于对客户端发送的许可证信息进行验证,判断所述客户端是否 具有使用本服务器所支持的通讯协议传送邮件的权限,若有,则通过权限验证;验证结果返回单元,在通过校验码验证和权限验证后,向客户端返回允许发送邮件的 响应信息;否则向客户端返回拒绝发送邮件的响应信息。
12.如权利要求8 11任一项所述的邮件系统,其特征在于,所述客户端还进一步包括第一撤回请求模块,用于向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮 件;所述请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;第二撤回请求模块,用于在接收到服务器返回的允许撤回邮件的响应信息后,向服务 器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机 数;其中,所述收信人随机数是客户端在发送邮件时为各个收信人分配的随机数,所述收信 人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;则所述服务器也进一步包括撤回验证模块,用于根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是, 则根据所述邮件标识和收信人信息查找所要撤回的邮件,并在查找到所要撤回的邮件后, 向所述客户端返回允许撤回邮件的响应信息;否则返回拒绝撤回邮件的响应信息;撤回处理模块,用于在收到客户端发送的撤回特定的收信人的邮件的请求指令后,将 客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同,则根据客 户端发送的特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。
13.如权利要求12所述的邮件系统,其特征在于,所述客户端中的第一撤回请求模块 具体包括第三校验码生成单元,用于根据预定的校验运算规则对第三属性信息进行运算,获得 第三校验码;所述第三属性信息包含邮件标识、收信人信息、许可证信息和服务器返回的随 机数;撤回指令发送单元,用于向服务器发送撤回邮件请求指令,所述撤回邮件请求指令包 含邮件标识、收信人信息、许可证信息和第三校验码。
14.如权利要求13所述的邮件系统,其特征在于,所述服务器中的撤回验证模块具体 包括第四校验码生成单元,用于根据预定的校验运算规则对第四属性信息进行运算,获得第四校验码;所述第四属性信息包含所述撤回邮件请求指令中的邮件标识、收信人信息、许 可证信息和保存在服务器中的随机数;验证单元, 用于将所述第四校验码与所述撤回邮件请求指令中的第三校验码进行比 较,若两者相同,则判定客户端合法,并根据所述邮件标识和收信人信息查找所要撤回的邮 件,在查找到所要撤回的邮件后,向所述客户端返回允许撤回邮件的响应信息;否则返回拒 绝撤回邮件的响应信息。
全文摘要
本发明公开了一种邮件传送方法及系统,该方法包括客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数;客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;经验证确定客户端合法后,客户端根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并将压缩后的邮件发送至服务器。本发明实施例支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。
文档编号H04L29/06GK101808049SQ20101013395
公开日2010年8月18日 申请日期2010年3月25日 优先权日2010年3月25日
发明者林延中, 潘庆峰, 陈磊华 申请人:盈世信息科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1