一种电子邮件传输方法和系统与流程

文档序号:11147961阅读:629来源:国知局
一种电子邮件传输方法和系统与制造工艺

本发明涉及无线通信技术领域,特别涉及一种电子邮件传输方法和系统。



背景技术:

电子邮件是无线信道上提供的最主要的应用服务,无论短波、超短波,还是卫星信道等,都会提供相应的电子邮件应用。不同的无线信道有不同的通信特点,但大多存在质量不稳定、干扰严重、带宽有限的现象。如果直接将有线网络中广泛应用的商用电子邮件系统应用于所有无线信道,将导致这些系统在大部分情况下都会效率低下,甚至很多时候这些系统使用的基于TCP/IP(英文:Transmission Control Protocol/Internet Protocol,中文:传输控制协议/因特网互联协议)的SMTP/POP3(英文:Simple Mail Transfer Protocol/Post Office Protocol-Version 3,中文:简单邮件传输协议/邮局协议版本3)等邮件传输协议则根本无法运行。基于此,现在广泛使用的无线信道电子邮件通信方法,均是为用户提供简化的、专用的邮件传输客户端软件和服务器软件,客户端和服务器直接与无线信道传输设备连接,由无线信道传输设备实现邮件报文的无线传输。

但在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

客户端和服务器系统均为专用软件,可操作性和稳定性与商用软件有差距,从而用户体验较差;不同无线信道的电子邮件通信系统很难兼容;另外,由于在有线环境中,用户都使用基于TCP/IP协议的SMTP/POP3等邮件传输协议的商用电子邮件系统,所以专用无线信道电子邮件系统与有线环境中的电子邮件系统很难实现互通。



技术实现要素:

为了解决现有技术中无线信道的客户端和服务器系统为专用软件带来的问题,本发明实施例提供了一种电子邮件传输方法和系统。所述技术方案如下:

第一方面,本发明实施例提供了一种电子邮件传输方法,所述方法由设置在客户端与服务器之间的客户端邮件服务代理执行,所述方法包括:

通过简单邮件传输协议SMTP协议接收所述客户端发送的第一电子邮件,并记录SMTP交互信息,所述SMTP交互信息包括服务器名称、客户端名称、发件人地址、收件人地址和抄送人地址;

将所述电子邮件封装成为第一邮件数据包,将所述SMTP交互信息封装成认证数据包;

确定传输信道类型,所述传输信道类型包括短波、超短波、卫星和有线;

确定与所述传输信道类型对应的帧长度,采用所述帧长度对所述认证数据包进行分帧处理,得到第一数据帧,并将所述第一数据帧发送至服务器,以进行认证;

认证成功时,接收到所述服务器发送的第二数据帧,根据所述第二数据帧合并得到认证成功数据包;

采用所述帧长度对所述第一邮件数据包进行分帧处理,得到第三数据帧,并将所述第三数据帧发送至所述服务器,以使所述服务器将所述第一电子邮件传输至收件人对应的客户端。

在本发明实施例的一种实现方式中,所述确定传输信道类型,包括:

按照优先级顺序依次选择信道类型;按照选择的信道类型传输测试数据包;如果所述测试数据包传输失败,则选择下一优先级的信道类型进行传输,直到选择出能够进行数据包传输的信道类型为止;采用能够进行数据包传输的信道类型作为确定出的传输信道类型。

在本发明实施例的另一种实现方式中,所述确定与所述传输信道类型对应的帧长度,包括:

确定所述传输信道在一段时间内的传输速度均值;

确定与所述传输信道类型对应的帧长度因子;

采用如下公式计算所述传输信道类型对应的帧长度A:A=S/B,S为所述传输速度均值,B为所述传输信道类型对应的帧长度因子。

在本发明实施例的另一种实现方式中,所述方法还包括:

接收所述服务器发送的第四数据帧,根据所述第四数据帧合并得到第二邮件数据包,对所述第二邮件数据包进行解封装得到第二电子邮件,以使所述客户端通过邮局协议版本3POP3协议从所述客户端邮件服务代理获取所述第二电子邮件。

第二方面,本发明实施例还提供了一种电子邮件传输方法,所述方法由设置在服务器与客户端之间的服务器邮件服务代理执行,所述方法包括:

接收客户端发送的第一数据帧,根据所述第一数据帧合并得到认证数据包;对所述认证数据包进行解封装得到认证数据包,所述认证数据包包括SMTP交互信息,所述SMTP交互信息包括服务器名称、客户端名称、发件人地址、收件人地址和抄送人地址;

根据所述认证数据包对所述客户端进行认证;当认证成功时,生成认证成功数据包;

确定所述客户端对应的帧长度,采用所述帧长度对所述认证数据包进行分帧处理,得到第二数据帧,并将所述第二数据帧发送所述客户端;

接收所述客户端发送的第三数据帧,根据所述第三数据帧合并得到第一邮件数据包;对所述第一邮件数据包进行解封装得到第一电子邮件,并将所述第一电子邮件发送至服务器。

在本发明实施例的一种实现方式中,所述确定所述客户端对应的帧长度,包括:

确定传输信道类型,所述传输信道类型包括短波、超短波、卫星和有线;确定与所述传输信道类型对应的帧长度;或者,

所述确定所述客户端对应的帧长度,包括:确定所述第一数据帧的长度作为所述帧长度;或者,

获取存储的与所述客户端对应的帧长度。

在本发明实施例的另一种实现方式中,所述确定传输信道类型,包括:

按照优先级顺序依次选择信道类型;按照选择的信道类型传输测试数据包;如果所述测试数据包传输失败,则选择下一优先级的信道类型进行传输,直到选择出能够进行数据包传输的信道类型为止;采用能够进行数据包传输的信道类型作为确定出的传输信道类型。

在本发明实施例的另一种实现方式中,所述确定与所述传输信道类型对应的帧长度,包括:

确定所述传输信道在一段时间内的传输速度均值;

确定与所述传输信道类型对应的帧长度因子;

采用如下公式计算所述传输信道类型对应的帧长度A:A=S/B,S为所述传输速度均值,B为所述传输信道类型对应的帧长度因子。

在本发明实施例的另一种实现方式中,所述方法还包括:

当通过SMTP协议接收到所述服务器发送至所述客户端的第二电子邮件时,将所述第二电子邮件封装成为第二邮件数据包;

采用所述帧长度对所述第二邮件数据包进行分帧处理,得到第四数据帧,并将所述第四数据帧发送至所述客户端,以使所述客户端得到所述第二电子邮件。

第三方面,本发明实施例还提供了一种电子邮件传输系统,所述系统包括客户端和服务器,所述系统还包括:客户端邮件服务代理和服务器邮件服务代理,所述客户端、所述客户端邮件服务代理、所述服务器邮件服务代理和所述服务器依次相连;

所述客户端邮件服务代理用于执行权利要求1-3任一项所述的电子邮件传输方法,所述服务器邮件服务代理用于执行权利要求4-7任一项所述的电子邮件传输方法。

本发明实施例提供的技术方案带来的有益效果是:

通过在客户端与服务器之间设置客户端邮件服务代理来转发客户端的电子邮件,客户端不需要使用专用软件,即可实现在无线信道进行电子邮件传输,可操作性和稳定性大大增强,提高了用户体验,且能够与基于TCP/IP协议的SMTP/POP3等邮件传输协议的实现互通;另外,客户端邮件服务代理可以兼容用于不同无线信道及有线信道。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A是本发明实施例提供的一种电子邮件传输系统的结构示意图;

图1B是本发明实施例提供的另一种电子邮件传输系统的结构示意图;

图2是本发明实施例提供的一种电子邮件传输方法的流程图;

图3是本发明实施例提供的另一种电子邮件传输方法的流程图;

图4是本发明实施例提供的另一种电子邮件传输方法的流程图;

图5是本发明实施例提供的另一种电子邮件传输方法的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1A是本发明实施例提供的电子邮件传输系统的结构示意图,参见图1A,该电子邮件传输系统包括客户端10、服务器20,客户端邮件服务代理30和服务器邮件服务代理40,客户端10、客户端邮件服务代理30、服务器邮件服务代理40和服务器20依次相连。

其中,客户端邮件服务代理30设置在客户端10和服务器20之间,且距离客户端10较近,二者可以通过有线连接。服务器邮件服务代理40设置在客户端10和服务器20之间,且距离服务器20较近,二者可以通过有线连接。

进一步地,客户端邮件服务代理30可以集成在客户端10上;服务器邮件服务代理40可以集成在服务器20上。

客户端邮件服务代理30和服务器邮件服务代理40之间的连接方式包括但不限于短波连接、超短波连接、卫星连接和有线连接。当客户端邮件服务代理30和服务器邮件服务代理40分别集成在客户端10和服务器20上时,也即客户端10和服务器20之间采用上述方式连接。

在图1A所示的实现方式中,每个客户端10(如图所示客户端C1和C2)均配置有一个客户端邮件服务代理30(如图所示客户端P1和P2)。在另一种实现方式中,具体参见图1B,还可以只在客户端10和服务器20之间采用无线链路传输时,配置客户端邮件服务代理30,而采用有线方式传输邮件的客户端10(如图所示客户端C3和C4)直接与服务器20连接,此时服务器20配置的服务器邮件服务代理40也不用处理这部分客户端发送的邮件。

在本发明实施例中,客户端邮件服务代理用于执行图2和图4所示的电子邮件传输方法,服务器邮件服务代理用于执行图3和图4所示的电子邮件传输方法。

在上述两种实现方式中,客户端10、客户端邮件服务代理30和服务器邮件服务代理40所执行的动作均相同。而服务器20执行的动作略有不同,在图1A所示的系统中,服务器20在接收到邮件后直接转发;而在图1B所示的系统中,服务器20需要根据收件人对应的客户端确定是否需要转发,具体地,如果收件人对应的客户端需要通过服务器邮件服务代理40转发(无线网络),则发送该邮件,如果收件人对应的客户端可以通过POP3直接从服务器20上获取(有线网络),则不需要发送该邮件。

其中,客户端C1、C2、C3、C4均可以采用免费邮件客户端软件outlook,服务器可以采用免费软件hMailServer,客户端C1中“发送服务器”配置为客户端邮件服务代理P1的IP地址,客户端C2中“接收服务器”配置为客户端邮件服务代理P2的IP地址,服务器中“转发服务器”配置为服务器邮件服务代理40的IP地址。

客户端与客户端邮件服务代理之间采用标准的SMTP/POP3协议进行邮件传输,服务器与服务器邮件服务代理之间采用标准的SMTP协议进行邮件传输,因此客户端和服务器均可以采用通用的商用客户端和服务器,使用通过的软件客户端,使得用户不必采用专用的邮件系统,不仅便于用户操作,并且实现了不同的无线信道下邮件传输的通用性;另外,服务器邮件服务代理能够使无线网络与有线网络融合,保证了在不影响有线网络电子邮件用户的原有使用习惯的同时,实现了实时移动的无线网络节点与固定的有线网络节点间的邮件交互。

图2是本发明实施例提供的一种电子邮件传输方法的流程图,该方法由前述客户端邮件服务代理执行,参见图2,该方法包括:

步骤101:通过SMTP协议接收客户端发送的第一电子邮件,并记录SMTP交互信息,SMTP交互信息包括服务器名称、客户端名称、发件人(E-mail)地址、收件人(E-mail)地址和抄送人(E-mail)地址。

具体地,客户端邮件服务代理根据接收到的第一电子邮件中携带的信息即可获取到SMTP交互信息,记录获取到的SMTP交互信息。

步骤102:将电子邮件封装成为第一邮件数据包,将SMTP交互信息封装成认证数据包。

具体地,第一邮件数据包是直接在电子邮件的基础上封装而成的。认证数据包为全ascii码的数据包。认证数据包的内容由关键字和对应的内容组成。其中,关键字包括发件人、收件人、抄送人、主题和客户端发送时间等。

通过上述数据包封装,保证电子邮件能够发送到服务器。

步骤103:确定传输信道类型,所述传输信道类型包括短波、超短波、卫星和有线。

其中,确定传输信道类型,包括:

按照优先级顺序依次选择信道类型,然后按照该信道类型传输测试数据包;如果测试数据包传输失败,则依次选择下一优先级的信道类型进行传输,直到能够进行数据包传输为止,采用能够进行数据包传输的信道类型作为确定出的传输信道类型。上述优先级顺序可以由用户指定,也可以采用默认设置,如有线信道优先级最高,卫星信道优先级其次,超短波信道优先级再次,短波信道优先级最低。

传输信道类型可以在开机时执行,然后存储在客户端邮件服务代理中,在后续执行过程中,确定传输信道类型时,直接获取存储的传输信道类型即可。

步骤104:确定与传输信道类型对应的帧长度,采用帧长度对认证数据包进行分帧处理,得到第一数据帧,并将第一数据帧发送至服务器,以进行认证。

其中,确定与传输信道类型对应的帧长度,包括:

确定传输信道在一段时间内的传输速度均值;

确定与传输信道类型对应的帧长度因子;

采用如下公式计算传输信道类型对应的帧长度A:A=S/B,S为传输速度均值,B为传输信道类型对应的帧长度因子。其中,帧长度因子为可调参数,对于同一种信道类型,多个设备设置的值可以不同。原则上,各种信道类型对应的帧长度因子可以以各个设备在理想环境中,在该类型信道上传输达到最大传输速度时的帧长为依据,进行调整。比如在短波信道中,帧长度因子可以为10;在超短波信道中,帧长度因子可以为100。

其中,传输信道在一段时间内的传输速度均值可以根据上次邮件传输时的速度进行计算。

由于服务器和客户端之间还设置有服务器邮件服务代理,因此实际第一数据帧由服务器邮件服务代理接收。

步骤105:认证成功时,接收到服务器发送的第二数据帧,根据第二数据帧合并得到认证成功数据包。

客户端邮件服务代理合并得到认证成功数据包后,确定认证成功,此时向服务器发送邮件数据包。

而当认证失败时,客户端邮件服务代理根据第二数据帧合并得到认证失败数据包;或者不会接收到第二数据帧。

当认证失败时,客户端邮件服务代理重新发送第一数据帧发送至服务器。

由于服务器和客户端之间还设置有服务器邮件服务代理,因此实际第二数据帧是由服务器邮件服务代理发送的。

步骤106:采用帧长度对第一邮件数据包进行分帧处理,得到第三数据帧,并将第三数据帧发送至服务器,以使所述服务器将所述第一电子邮件传输至收件人对应的客户端。

由于服务器和客户端之间还设置有服务器邮件服务代理,因此实际第三数据帧由服务器邮件服务代理接收。

进一步地,该方法还包括:接收服务器发送的确认数据帧,根据确认数据帧合并得到邮件确认数据包,邮件确认数据包用于指示服务器是否收到该第一邮件数据包。

步骤107:接收服务器发送的第四数据帧,根据第四数据帧合并得到第二邮件数据包,对第二邮件数据包进行解封装得到第二电子邮件,以使客户端通过POP3协议从客户端邮件服务代理获取第二电子邮件。

在本发明实施例中,第二电子邮件可以是收件人对第一电子邮件的回信,也可以是其他用户发送的电子邮件。

本发明通过在客户端与服务器之间设置客户端邮件服务代理来转发客户端的电子邮件,客户端不需要使用专用软件,即可实现在无线信道进行电子邮件传输,可操作性和稳定性大大增强,提高了用户体验,且能够与基于TCP/IP协议的SMTP/POP3等邮件传输协议的实现互通;另外,客户端邮件服务代理可以兼容用于不同无线信道及有线信道。

图3是本发明实施例提供的另一种电子邮件传输方法的流程图,该方法由前述服务器邮件服务代理执行,参见图3,该方法包括:

步骤201:接收客户端发送的第一数据帧,根据第一数据帧合并得到认证数据包;对认证数据包进行解封装得到认证数据包,认证数据包包括SMTP交互信息,SMTP交互信息包括服务器名称、客户端名称、发件人地址、收件人地址和抄送人地址。

步骤202:根据认证数据包对客户端进行认证;当认证成功时,生成认证成功数据包。

而当认证失败时,生成认证失败数据包;或者不生成数据包。

其中,认证包括:第一项检查,检查服务器名称、客户端名称、发件人地址、收件人地址、抄送人地址等信息是否符合拼写及其它规范。第二项检查,检查服务器名称是否为该服务器邮件服务代理的名称,或者该服务器名称是否在该服务器邮件服务代理的转发表中。如果上述两项检查有一项或两项错误,则认证失败,如果两项检查都没有错误,则认证成功。第二项检查错误是指服务器名称既不是该服务器邮件服务代理的名称,也不存在于转发表中。

步骤203:确定客户端对应的帧长度,采用帧长度对认证数据包进行分帧处理,得到第二数据帧,并将第二数据帧发送客户端。

其中,确定客户端对应的帧长度,包括:

确定传输信道类型,所述传输信道类型包括短波、超短波、卫星和有线;确定与传输信道类型对应的帧长度;或者,

确定客户端对应的帧长度,包括:确定第一数据帧的长度作为帧长度;或者,

获取存储的与客户端对应的帧长度。

进一步地,确定传输信道类型,包括:

按照优先级顺序依次选择信道类型;按照选择的信道类型传输测试数据包;如果测试数据包传输失败,则选择下一优先级的信道类型进行传输,直到选择出能够进行数据包传输的信道类型为止;采用能够进行数据包传输的信道类型作为确定出的传输信道类型。

其中,在采用选择的信道类型传输测试数据包时,可以采用该选择的信道类型对应的帧长度对测试数据包进行分帧处理,然后进行传输。

进一步地,确定与传输信道类型对应的帧长度,包括:

确定传输信道在一段时间内的传输速度均值;

确定与传输信道类型对应的帧长度因子;

采用如下公式计算传输信道类型对应的帧长度A:A=S/B,S为传输速度均值,B为传输信道类型对应的帧长度因子。

步骤204:接收客户端发送的第三数据帧,根据第三数据帧合并得到第一邮件数据包;对第一邮件数据包进行解封装得到第一电子邮件,并将第一电子邮件发送至服务器。

步骤205:当通过SMTP协议接收到服务器发送至客户端的第二电子邮件时,将第二电子邮件封装成为第二邮件数据包。

如果该第二邮件数据包也是通过客户端邮件服务代理发送到服务器的,则在接收第二电子邮件封装之前,服务器邮件服务代理会执行与步骤201~204相同的步骤。如果该第二邮件数据包是客户端直接通过有线信道发送给服务器的,则在该第二邮件数据包的接收过程中,无需服务器邮件服务代理参与。

步骤206:采用帧长度对第二邮件数据包进行分帧处理,得到第四数据帧,并将第四数据帧发送至客户端,以使客户端得到第二电子邮件。

本发明通过在客户端与服务器之间设置服务器邮件服务代理来转发客户端的电子邮件,服务器不需要使用专用软件,即可实现在无线信道进行电子邮件传输,且能够与基于TCP/IP协议的SMTP/POP3等邮件传输协议的实现互通;另外,服务器邮件服务代理可以兼容用于不同无线信道及有线信道。

图4是本发明实施例提供的另一种电子邮件传输方法的流程图,该方法由前述系统执行,该方法以客户端C1向客户端C2发送邮件为例,参见图4,该方法包括以下步骤:

S301、客户端邮件服务代理P1通过SMTP协议接收到客户端C1向服务器发送的电子邮件。

S302、客户端邮件服务代理P1记录SMTP交互信息,SMTP交互信息包括服务器名称、客户端名称、发件人地址、收件人地址和抄送人地址。

S303、客户端邮件服务代理P1将SMTP交互信息和邮件分别封装成为认证数据包和邮件数据包。

S304、客户端邮件服务代理P1确定帧长度,并采用该帧长度对认证数据包进行分帧处理,得到第一数据帧。

S305、客户端邮件服务代理P1将第一数据帧发送至服务器邮件服务代理。

S306、服务器邮件服务代理收到第一数据帧后,将第一数据帧合并为认证数据包,提取SMTP交互信息进行邮件发送认证,认证为对服务器名称、客户端名称、发件人地址、收件人地址、抄送人地址信息进行有效性检查。认证成功时,服务器邮件服务代理生成认证成功数据包。

S307、服务器邮件服务代理确定帧长度,并采用该帧长度对认证成功数据包进行分帧处理,得到第二数据帧。

S308、服务器邮件服务代理将第二数据帧发送至客户端邮件服务代理P1。

S309、客户端邮件服务代理P1接收到第二数据帧后,组包成认证成功数据包,然后采用该帧长度对邮件数据包进行分帧处理,得到第三数据帧,并将数据帧发送至服务器。

S310、服务器邮件服务代理收到第三数据帧后,将其合并为邮件数据包,从中提取出电子邮件,将电子邮件发送至服务器。

S311、服务器邮件服务代理通过SMTP协议接收到服务器向客户端C2发送的电子邮件时,将电子邮件封装成为第二邮件数据包。

S312、服务器邮件服务代理采用帧长度对第二邮件数据包进行分帧处理,得到第四数据帧,并将第四数据帧发送至客户端C2。

S313、客户端邮件服务代理P2接收服务器发送的第四数据帧,根据第四数据帧合并得到第二邮件数据包,对第二邮件数据包进行解封装得到电子邮件。

S314、客户端C2通过POP3协议从客户端邮件服务代理获取电子邮件。

图5是本发明实施例提供的另一种电子邮件传输方法的流程图,该方法由前述系统执行,与图4提供的方法的区别在于该方法以客户端C1向客户端C3发送邮件为例,参见图5,该方法包括以下步骤:

在该方法中,客户端C1将邮件发送中服务器的过程与前述步骤S301-S310相同。

S411、客户端C3通过POP3协议从服务器获取电子邮件。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1