发明内容
本发明实施例提出一种邮件传送方法及系统,支持无需ASCII编码的邮件传输,减少了邮件的网络带宽;并设有校验机制对客户端的合法性进行验证,可避免发信客户端伪造发信人信息,提高网络的安全性。
本发明实施例提供一种邮件传送方法,包括:
客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数;
客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;
服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;
经验证确定客户端合法后,客户端根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并将压缩后的邮件发送至服务器。
进一步的,所述客户端将邮件成功发送至所述服务器后,还包括:
客户端向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述撤回邮件请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;
服务器根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则根据所述邮件标识和收信人信息查找所要撤回的邮件;
若服务器查找到所要撤回的邮件,则向所述客户端返回允许撤回邮件的响应信息,否则返回拒绝撤回邮件的响应信息;
客户端接收到允许撤回邮件的响应信息后,向服务器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随机数是客户端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;
服务器将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同,则根据所述特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。
相应地,本发明实施例还提供了一种邮件系统,包括客户端和服务器;
所述客户端具体包括:
协议信息获取模块,用于向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数;
投递指令处理模块,用于根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;
邮件发送模块,用于根据服务器所支持的邮件压缩方式对邮件正文进行压缩,并将压缩后的邮件发送至所述服务器;
所述服务器具体包括:
协议信息返回模块,用于在接收到客户端发送的请求获知通讯协议的指令后,向客户端返回服务器所支持的邮件压缩方式和随机数;
投递验证模块,用于根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;
邮件接收模块,用于接收合法客户端发送的经过压缩的邮件。
更进一步的,所述客户端还包括:
第一撤回请求模块,用于向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;
第二撤回请求模块,用于在接收到服务器返回的允许撤回邮件的响应信息后,向服务器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随机数是客户端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;
则所述服务器也进一步包括:
撤回验证模块,用于根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则根据所述邮件标识和收信人信息查找所要撤回的邮件,并在查找到所要撤回的邮件后,向所述客户端返回允许撤回邮件的响应信息;否则返回拒绝撤回邮件的响应信息;
撤回处理模块,用于在收到客户端发送的撤回特定的收信人的邮件的请求指令后,将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同,则根据客户端发送的特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的邮件传送方法及系统,在邮件传送过程中,通过对邮件正文进行压缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。本发明实施例还设有校验机制,对客户端的合法性进行验证,可避免发信客户端伪造发信人信息,提高网络的安全性;并且通过添加验证机制,还可支持邮件撤回功能,且避免了执行撤回操作的发信人被冒充的风险。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的邮件传送方法的第一实施例的流程示意图。本实施例在邮件传送过程中,通过对邮件正文进行压缩,可支持无需ASCII编码的邮件传输,大大减少了邮件的网络带宽。该方法包括以下步骤:
S101,客户端向服务器发送请求获知通讯协议的指令,获得服务器所支持的邮件压缩方式和随机数;
具体的,所述请求获知通讯协议的指令中包含客户端的域名信息;服务器接收到所述指令后,根据指令中的域名信息向对应的客户端返回通讯协议信息,所述通讯协议信息包含服务器所支持的协议版本号、邮件压缩方式和一个用于后续通讯过程验证客户端身份的随机数。
S102,客户端根据预定的校验运算规则对所述随机数进行运算,生成第一校验码,并向服务器发送包含所述第一校验码的邮件投递请求指令;
具体的,客户端根据预定的校验运算规则对第一属性信息进行运算,获得第一校验码;所述第一属性信息包含发信人信息、收信人信息、许可证信息和服务器返回的随机数;客户端向服务器发送邮件投递请求指令,所述邮件投递请求指令包含发信人信息、收信人信息、许可证信息和第一校验码。
S103,服务器根据所述邮件投递请求指令中的信息对客户端的合法性进行验证;具体如下:
服务器收到客户端发送的邮件投递请求指令后,根据预定的校验运算规则对第二属性信息进行运算,获得第二校验码;所述第二属性信息包含所述邮件投递请求指令中的发信人信息、收信人信息、许可证信息和保存在服务器中的随机数;
服务器将所述第二校验码与所述邮件投递请求指令中的第一校验码进行比较,若两者相同,则通过校验码验证;
服务器对客户端发送的许可证信息进行验证,判断所述客户端是否具有使用本服务器所支持的通讯协议传送邮件的权限,若有,则通过权限验证;
若通过校验码验证和权限验证,则确定所述客户端合法,允许所述客户端发送邮件;否则拒绝所述客户端发送邮件。
S104,经验证确定客户端合法后,所述客户端根据服务器所支持的邮件压缩方式邮件正文进行压缩,并将压缩后的邮件发送至所述服务器。其中,所述邮件正文包括邮件附件。具体实施时,本发明实施例可以采用LZSS、deflate等成熟的压缩算法对邮件正文进行压缩。
参见图2,是本发明提供的邮件传送方法的第二实施例的流程示意图。
与上述第一实施例的邮件传送方法相比,本实施例的不同点在于,当客户端将邮件成功发送至服务器后,还支持邮件撤回功能。本实施例除了包括上述的步骤S101~S104外,还进一步包括以下步骤:
S201,客户端向服务器发送撤回邮件请求指令,请求撤回已成功发送的邮件;所述撤回邮件请求指令包含邮件标识、收信人信息、许可证信息和第三校验码;
其中,“邮件标识”是发信人发出的邮件的唯一ID,只有发信的特定的人才掌握这个ID。
所述第三校验码是由客户端运算获得,包括:客户端根据预定的校验运算规则对第三属性信息进行运算,获得第三校验码;所述第三属性信息包含邮件标识、收信人信息、许可证信息和服务器返回的随机数。
S202,服务器根据所述撤回邮件请求指令中的信息验证客户端是否合法,若是,则根据所述邮件标识和收信人信息查找所要撤回的邮件;
其中,验证客户端的合法性的方法具体如下:服务器收到客户端发送的撤回邮件请求指令后,根据预定的校验运算规则对第四属性信息进行运算,获得第四校验码;所述第四属性信息包含所述撤回邮件请求指令中的邮件标识、收信人信息、许可证信息和保存在服务器中的随机数;服务器将所述第四校验码与所述撤回邮件请求指令中的第三校验码进行比较,若两者相同,则判定客户端合法;否则判定客户端不合法。
S203,若服务器查找到所要撤回的邮件,则向所述客户端返回允许撤回邮件的响应信息,否则返回拒绝撤回邮件的响应信息;
S204,客户端接收到允许撤回邮件的响应信息后,向服务器发送撤回特定的收信人的邮件的请求指令,所述指令包含特定收信人列表、收信人随机数;其中,所述收信人随机数是客户端在发送邮件时为各个收信人分配的随机数,所述收信人随机数仅由发信人掌握,并在发送邮件时保存在服务器中;
S205,服务器将客户端发送的收信人随机数与自身保存的收信人随机数进行比较,若两者相同,则根据所述特定收信人列表撤回特定的收信人的邮件,否则不执行撤回邮件操作。
为了方便说明,下面将服务器所支持的通讯协议称为邮件私有协议,该邮件私有协议是在兼容标准SMTP通讯协议的基础上,对SMTP通讯协议进行扩展。通过对二进制编码进行压缩,使其支持无需ASCII编码的二进制传输,减少了邮件的网络带宽。并且,通过在通讯协议中添加验证机制,使其支持邮件撤回功能。
下面以邮件私有协议作为邮件通讯协议,对本发明实施例提供的邮件投递过程及邮件撤回过程进行详细描述。
参见图3,是本发明提供的邮件传送方法的第三实施例的流程示意图。
下面对邮件投递过程进行详细描述,如图3所示,邮件投递过程如下:
S301,连接服务器;
S302,服务器返回banner信息;其中,banner信息相当于“欢迎信息”,其包含了服务器所支持的邮件通讯协议。
S303,客户端向服务器发送EHLO指令。该EHLO指令的作用是请求获知服务器所支持的通讯协议及其扩展,EHLO指令中包含了客户端的域名信息。
S304,服务器接收到EHLO指令后,根据EHLO指令中的域名信息向对应的客户端返回“EHLO返回信息”,该“EHLO返回信息”中包含了服务器所支持的邮件协议扩展(协议版本号)、邮件压缩方式和一个随机数。客户端可以通过判断服务器是否返回邮件压缩的协议扩展信息,来获知服务器是否支持邮件压缩功能。其中,所述随机数是在服务器端通过随机数生成函数产生的,并且,该随机数同时保存在服务器中。客户端无法预知该随机数的具体值,该随机数在后续的通讯过程中用于验证发信客户端的合法性。
需要说明的是,步骤S301~S304的信息交互过程与标准的SMTP通讯协议相同,在此不进行详细描述。
客户端接收到“EHLO返回信息”后,根据其中的协议版本号判断服务器是否支持邮件私有协议,若是,则执行S305;否则,客户端采用标准的SMTP通讯协议发送邮件。
S305,客户端向服务器发送邮件私有协议指令(COREMAIL指令),该指令包含了客户端的许可证(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指令中的域名信息向对应的客户端返回“EHLO返回信息”,该“EHLO返回信息”中包含了服务器所支持的邮件协议扩展(协议版本号)、邮件压缩方式和一个随机数。客户端可以通过判断服务器是否返回邮件压缩及撤回的协议扩展信息,来获知服务器是否支持邮件压缩及撤回功能。其中,所述随机数是在服务器端通过随机数生成函数产生的,并且,该随机数同时保存在服务器中。客户端无法预知该随机数的具体值,该随机数在后续的通讯过程中用于验证发信客户端的合法性。
需要说明的是,步骤S401~S404中的信息交互过程与标准的SMTP通讯协议相同,在此不进行详细描述。
客户端接收到“EHLO返回信息”后,根据其中的协议版本号判断服务器是否支持邮件私有协议,若是,则执行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)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。