CN103491170B - 电子邮件到达消息提醒的方法及系统 - Google Patents
电子邮件到达消息提醒的方法及系统 Download PDFInfo
- Publication number
- CN103491170B CN103491170B CN201310439581.4A CN201310439581A CN103491170B CN 103491170 B CN103491170 B CN 103491170B CN 201310439581 A CN201310439581 A CN 201310439581A CN 103491170 B CN103491170 B CN 103491170B
- Authority
- CN
- China
- Prior art keywords
- arrival
- message
- notification
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 130
- 206010033799 Paralysis Diseases 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种电子邮件到达消息提醒的方法及系统,所述方法包括:邮件落信服务器接收到电子邮件后推送该电子邮件的邮件到达通知;通知分发服务器的通知接收模块接收到邮件到达通知后存于缓存队列中;通知分发服务器的子进程创建模块依次读取邮件到达通知,为每个邮件到达通知创建一个通知处理子进程,将该邮件到达通知传入其中;每个通知处理子进程解析出收件方邮箱地址,确定出其所绑定的社交通讯工具的账号,向对应该社交通讯工具的消息推送服务器发送消息推送请求;消息推送服务器解析出社交通讯工具的账号;调用该社交通讯工具的服务器提供的消息推送接口,向该社交通讯工具的账号推送所述消息内容。从而实现了电子邮件到达消息提醒。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种电子邮件到达消息提醒的方法及系统。
背景技术
电子邮件(electronic mail)是一种用电子手段提供信息交换的通信方式,是Internet(互联网)应用最广的服务;通过网络的电子邮件发送系统,用户可以快速、低廉的方式与其他网络用户联系。
在电子邮件发送过程中,收件方邮箱地址所在的服务器接收到电子邮件后,将各电子邮件分发到对应的邮件落信服务器;邮件落信服务器会将该电子邮件落信到收件方邮箱地址所对应的用户邮件夹中(即用户目录中);这样,收件方可以通过客户端登录到邮件落信服务器从本用户邮件夹中读取到该电子邮件。
为便于用户及时读取到他人发送到自己邮箱中的电子邮件,运营商往往会为用户提供邮件到达消息提醒的功能,即通过向用户的邮箱地址所绑定的社交通讯工具的账号发送邮件到达消息提醒,来提醒用户有新邮件到达。本文中所称的社交通讯工具可以包括常用的社交网站的客户端软件工具(如微博、人人网等),常用的即时通讯工具(如QQ、飞信等),以及手机短信等。
现有的电子邮件到达消息提醒的方法的流程,如图1所示,包括如下步骤:
S101:社交通讯工具每隔设定时间段,主动向邮件落信服务器发送查询请求,该查询请求中携带有用户的邮箱地址。
具体地,用户可以在社交通讯工具的设置页面内,勾选接收邮件到达消息提醒选项,将用户的邮箱地址与社交通讯工具的账号进行绑定;这样,社交通讯工具每隔设定时间段,主动通过Web、或POP3、或imap的接口服务,向邮件落信服务器发送查询请求,该查询请求中携带有用户的邮箱地址(e-mail地址);其中,设定时间段可由本领域技术人员进行设定。
S102:邮件落信服务器根据查询请求中携带的邮箱地址,查询在该设定时间段内,该邮箱地址所对应的用户邮件夹中是否有电子邮件到达;若有,则执行步骤S103;若没有,则忽略该查询请求。
S103:邮件落信服务器向该邮箱地址所绑定的社交通讯工具的账号返回邮件到达消息提醒。
例如,若在该设定时间段内,有十封电子邮件落信到邮件落信服务器,查询请求中携带的邮箱地址所对应的用户邮件夹中有两封电子邮件到达,则邮件落信服务器根据到达的电子邮件数向该邮箱地址所绑定的社交通讯工具的账号返回邮件到达消息提醒,如微博私信的“2封新私信”消息提醒,以提醒用户有新邮件到达。
然而,上述的方法中,即使没有新邮件到达的邮箱地址所绑定的社交通讯工具也会每隔设定时间段向邮件落信服务器请求查询;而且,为保证新邮件到达后,及时提醒用户,通常设定时间段不会太长;这就造成短时间内查询请求量非常大,易导致邮件落信服务器因查询量巨大而造成瘫痪;且随着互联网的普及,电子邮件用户量逐渐增长,这将使得邮件落信服务器所接收的查询请求也会相应增长;因此,有必要提供一种既能实现电子邮件到达消息提醒,又可避免邮件落信服务器瘫痪的实现电子邮件到达消息提醒的方法。
发明内容
针对上述现有技术存在的缺陷,本发明提供了一种电子邮件到达消息提醒的方法及系统,用以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到达消息提醒。
本发明提供了一种电子邮件到达消息提醒的方法,包括:
邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;
所述通知分发服务器的通知接收模块将接收到的所述邮件到达通知存于缓存队列中;
所述通知分发服务器的子进程创建模块从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;
每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
所述消息推送服务器接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括:
所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中的每行邮件到达日志行,具体为:
所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行。
本发明还提供了一种电子邮件到达消息提醒的方法,包括:
邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;
所述消息推送服务器接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并
调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括:
所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
本发明提供了一种实现电子邮件到达消息提醒的系统,包括:
邮件落信服务器,用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
消息推送服务器,用于接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
较佳地,所述邮件落信服务器具体包括:
邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
本发明还提供了一种电子邮件到达消息提醒的系统,包括:邮件落信服务器、通知分发服务器和消息推送服务器;其中,
所述邮件落信服务器用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
所述通知分发服务器包括:通知接收模块、子进程创建模块;所述通知接收模块用于将接收到的所述邮件到达通知存于缓存队列中;所述子进程创建模块用于从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
所述消息推送服务器用于接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
较佳地,所述邮件落信服务器具体包括:
邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
所述日志发送模块具体用于依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向消息推送服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的收件方邮箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号,调用相应的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避免了社交通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务器瘫痪,从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒。
本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向通知分发服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知存入缓存队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每个邮件到达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子进程向对应的消息推送服务器发送消息推送请求;并由各消息推送服务器来处理消息推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方式并行进行邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的问题,从而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的推送速度。
进一步,本发明的技术方案中,消息推送服务器对应于社交通讯工具,若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发明实施例二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工具的消息推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内容到该社交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好扩展性。
附图说明
图1为现有技术的电子邮件到达消息提醒的方法的流程图;
图2为本发明实施例一的电子邮件到达消息提醒的系统的架构图;
图3为本发明实施例一的电子邮件到达消息提醒的方法的流程图;
图4为本发明实施例二的电子邮件到达消息提醒的系统的架构图;
图5为本发明实施例二的电子邮件到达消息提醒的方法的流程图。
具体实施方式
以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的发明人考虑到,可以在邮件落信服务器接收到发件方的电子邮件后,由实现电子邮件到达消息提醒的系统推送邮件到达消息提醒到该电子邮件的收件方邮箱地址所绑定的社交通讯工具的账号;从而,尽量减少社交通讯工具主动发送到邮件落信服务器的大量的查询请求,减轻邮件落信服务器的负担,以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到达消息提醒。
基于上述的思路,本发明提供了两个实施例来实现电子邮件到达消息提醒的技术方案;其中,实施例一的技术方案中,实现电子邮件到达消息提醒的系统通过单进程的方式处理邮件到达通知,以实现电子邮件到达消息提醒的推送;实施例二的技术方案中,实现电子邮件到达消息提醒的系统通过多进程的方式并行处理邮件到达通知,以实现电子邮件到达消息提醒的推送。
下面结合附图详细说明本发明的技术方案。
实施例一
本发明实施例一提供的电子邮件到达消息提醒的系统的架构图,如图2所示,包括:邮件落信服务器201和消息推送服务器202。
邮件落信服务器201在接收到电子邮件后,向消息推送服务器202发送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
消息推送服务器202接收到邮件落信服务器201发送的邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;之后,调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消息提醒的消息内容。
其中,社交通讯工具的服务器是支持社交通讯工具实现即时通讯功能的平台,如实现微博的即时通讯功能的微博服务器,实现QQ的即时通讯功能的QQ服务器,实现MSN的即使通讯功能的MSN服务器;而且,社交通讯工具的服务器中存储有所述消息推送接口,如OpenAPI。
基于实施例一的电子邮件到达消息提醒的系统,本发明实施例一提供的电子邮件到达消息提醒的方法,流程图如图3所示,具体包括如下步骤:
S301:邮件落信服务器201在接收到电子邮件后,向消息推送服务器202推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
具体地,邮件落信服务器201在接收到电子邮件后,将该电子邮件落信到该电子邮件的收件方邮箱地址所对应的用户邮件夹中,并向消息推送服务器202推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址,还可携带有该电子邮件的标题、发件方用户名和发件方邮箱地址等;
更优地,邮件落信服务器201具体包括邮件落信模块和日志发送模块;邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址,还可包括行标识的关键字,例如,--!!pvt_m$g!!--;
日志发送模块是特定配置的syslog-ng模块,可根据行标识的关键字,依次读取邮件日志中包括该行标识的关键字的邮件到达日志行,将其携带于邮件到达通知中向消息推送服务器202推送。
通常,在消息推送服务器202宕掉后,邮件落信服务器201接收不到消息推送服务器202返回的接收邮件到达通知成功的结果;若邮件落信服务器201在邮件日志中写入邮件到达日志行,则在消息推送服务器202恢复后,邮件落信服务器201仍可读取出邮件日志中的邮件到达日志行,将其携带于邮件到达通知中进行推送,因此,不会因消息推送服务器202宕掉而产生丢失邮件到达通知的问题,更好地保证了邮件到达消息提醒的安全性。
S302:消息推送服务器202接收到邮件到达通知后,解析出其中的收件方邮箱地址。
具体地,消息推送服务器202接收到邮件落信服务器201推送的邮件到达通知后,执行本地脚本程序,解析出其中的收件方邮箱地址;进一步,还可解析出其中的标题、发件方用户名和发件方邮箱地址等。
S303:消息推送服务器202确定出该收件方邮箱地址所绑定的社交通讯工具的账号。
具体地,消息推送服务器202中的数据库中存储有邮箱地址与社交通讯工具的账号的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱地址所绑定的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮箱地址的字段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账号的信息中具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用于在该社交通讯工具中注册的账号。例如,邮箱地址a@a.com与微博的账号绑定,邮箱地址b@b.com与QQ的账号绑定;
在本步骤中,消息推送服务器202根据上述步骤S303解析出的收件方邮箱地址,查找本服务器的数据库中的绑定规则,确定出该收件方邮箱地址所绑定的社交通讯工具的账号。
S304:消息推送服务器202调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中。
具体地,消息推送服务器202在上述步骤S303中确定出收件方邮箱地址所绑定的社交通讯工具的账号后,在本步骤中,调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中。
其中,邮件到达消息提醒的消息内容由消息推送服务器来生成,例如,邮件到达消息提醒的消息内容可以为:新邮件到达;
进一步,消息推送服务器还可根据解析出的电子邮件的标题、发件方用户名和发件方邮箱地址等生成邮件到达消息提醒的消息内容,例如,电子邮件的标题为:efgh,发件方用户名为:张三,发件方邮箱地址为:c@c.com,生成的邮件到达消息提醒的消息内容可以为:“张三”c@c.com向您发送了标题为efgh的电子邮件。
S305:消息推送接口根据传入的社交通讯工具的账号以及邮件到达消息提醒的消息内容,向社交通讯工具的账号发送邮件到达消息提醒的消息内容。
这样,用户可以根据其邮箱地址所绑定的社交通讯工具的账号,在社交通讯工具的用户界面内读取到该邮件到达消息提醒的消息内容。
本发明实施例一的技术方案中,邮件落信服务器在接收到电子邮件后,向消息推送服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的收件方邮箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号,调用相应的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避免了社交通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务器瘫痪,从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒。
实施例二
本发明实施例二提供的电子邮件到达消息提醒的系统的架构图,如图4所示,包括:邮件落信服务器401、通知分发服务器403和消息推送服务器402。
邮件落信服务器401的功能与上述邮件落信服务器201的功能相同,此处不再赘述。
通知分发服务器403包括:通知接收模块和子进程创建模块;通知接收模块用于接收到邮件落信服务器401发送的邮件到达通知后,将其存入缓存队列中;子进程创建模块用于依次读取出缓存队列中的邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器402发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出。
消息推送服务器402的数据库中存储有邮箱地址与社交通讯工具的账号的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱地址所绑定的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮箱地址的字段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账号的信息中具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用于在该社交通讯工具中注册的账号。
而且,对于每种社交通讯工具,分别配备有该种社交通讯工具的消息推送服务器;比如,QQ社交通讯工具配备有QQ消息推送服务器,微博社交通讯工具配备有微博消息推送服务器,MSN社交通讯工具配备有MSN消息推送服务器等。
消息推送服务器402接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消息提醒的消息内容。
其中,社交通讯工具的服务器与实施例一中相同,此处不再赘述。
基于实施例二的电子邮件到达消息提醒的系统,本发明实施例二提供的电子邮件到达消息提醒的方法,流程图如图5所示,具体包括如下步骤:
S501:邮件落信服务401在接收到电子邮件后,向通知分发服务器403推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
具体地,邮件落信服务器401具体包括邮件落信模块和日志发送模块;邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址,还可包括行标识的关键字,例如--!!pvt_m$g!!--;
日志发送模块可根据行标识的关键字,依次读取邮件日志中包括该行标识的关键字的邮件到达日志行,将其携带于邮件到达通知中向通知分发服务器403推送。
S502:通知分发服务器403的通知接收模块接收到邮件到达通知后,将其存入缓存队列中。
S503:通知分发服务器403的子进程创建模块从缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中。
S504:每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求。
在本步骤中通知处理子进程发送消息推送请求后,本通知处理子进程退出,以释放缓存。
上述实施例一中图3所示的实现电子邮件消息到达提醒的方法中,消息推送服务器202以单进程的方式处理邮件到达通知,接收到邮件到达通知后,先将其存入缓存队列中,每处理完一个邮件到达通知,在缓存队列中取出下一个邮件到达通知进行处理;由于接收邮件到达通知比处理邮件到达通知的速度快得多,这样容易导致处理邮件到达通知的缓存很快就满了,造成丢失邮件到达通知的现象,也导致了相应邮件到达消息提醒的丢失;
本实施例二中,创建了多个通知处理子进程,以多进程的方式并行处理邮件到达通知,每个创建的通知处理子进程向消息推送服务器发送消息推送请求后,退出本通知处理子进程,释放缓存,从而,避免单进程缓存易满的问题,相应避免了邮件到达消息提醒的丢失,也提升了邮件到达消息提醒推送的速度。
S505:消息推送服务器402接收到消息发送请求后,解析出该消息发送请求中的社交通讯工具的账号。
S506:消息推送服务器402调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入其中。
S507:消息推送接口向该社交通讯工具的账号发送邮件到达消息提醒的消息内容。
本发明实施例二的技术方案中,邮件落信服务器在接收到电子邮件后,向通知分发服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知存入缓存队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每个邮件到达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子进程向对应的消息推送服务器发送消息推送请求;并由各消息推送服务器来处理消息推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方式并行进行邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的问题,从而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的推送速度。
进一步,本发明实施例二的技术方案中,消息推送服务器对应于社交通讯工具,若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发明实施例二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工具的消息推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内容到该社交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好扩展性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种电子邮件到达消息提醒的方法,其特征在于,包括:
邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;
所述通知分发服务器的通知接收模块将接收到的所述邮件到达通知存于缓存队列中;
所述通知分发服务器的子进程创建模块从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;
每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
所述消息推送服务器接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
2.如权利要求1所述的方法,其特征在于,所述邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮件的邮件到达通知,具体包括:
所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述通知分发服务器发送。
3.如权利要求2所述的方法,其特征在于,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中的每行邮件到达日志行,具体为:
所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行。
4.一种电子邮件到达消息提醒的方法,其特征在于,包括:
邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址及行标识的关键字;所述行标识的关键字用以指示出其所在行为邮件到达日志行;
所述邮件落信服务器的日志发送模块依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于邮件到达通知中向消息推送服务器发送;该邮件到达通知中携带有该电子邮件的收件方邮箱地址;
所述消息推送服务器接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并
调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
5.一种电子邮件到达消息提醒的系统,其特征在于,包括:
邮件落信服务器,用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
消息推送服务器,用于接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容;
其中,所述邮件落信服务器具体包括:
邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址及行标识的关键字;所述行标识的关键字用以指示出其所在行为邮件到达日志行;
日志发送模块,用于依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
6.一种电子邮件到达消息提醒的系统,其特征在于,包括:邮件落信服务器、通知分发服务器和消息推送服务器;其中,
所述邮件落信服务器用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
所述通知分发服务器包括:通知接收模块、子进程创建模块;所述通知接收模块用于将接收到的所述邮件到达通知存于缓存队列中;所述子进程创建模块用于从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
所述消息推送服务器用于接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
7.如权利要求6所述的系统,其特征在于,所述邮件落信服务器具体包括:
邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述通知分发服务器发送。
8.如权利要求7所述的系统,其特征在于,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
所述日志发送模块具体用于依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述通知分发服务器发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439581.4A CN103491170B (zh) | 2013-09-24 | 2013-09-24 | 电子邮件到达消息提醒的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439581.4A CN103491170B (zh) | 2013-09-24 | 2013-09-24 | 电子邮件到达消息提醒的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103491170A CN103491170A (zh) | 2014-01-01 |
CN103491170B true CN103491170B (zh) | 2017-03-29 |
Family
ID=49831123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310439581.4A Active CN103491170B (zh) | 2013-09-24 | 2013-09-24 | 电子邮件到达消息提醒的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103491170B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577603B (zh) * | 2014-10-09 | 2018-12-07 | 中国移动通信集团天津有限公司 | 一种播放多媒体消息的方法及装置 |
CN104484378A (zh) * | 2014-12-09 | 2015-04-01 | 深圳市中兴移动通信有限公司 | 一种通知消息推送方法、装置及终端 |
CN104901869B (zh) * | 2015-05-25 | 2017-09-15 | 南京信息职业技术学院 | 一种在线群组成员互动方法 |
CN106470149B (zh) * | 2015-08-20 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 消息发送方法及装置 |
CN105282245B (zh) * | 2015-09-29 | 2019-03-08 | 努比亚技术有限公司 | 跨服务器消息推送系统及方法 |
CN109672605B (zh) * | 2018-09-26 | 2022-04-15 | 深圳壹账通智能科技有限公司 | 邮件分发方法、装置、设备及可读存储介质 |
CN112134925A (zh) * | 2020-08-21 | 2020-12-25 | 广东职业技术学院 | 一种校企合作教育协同通讯系统 |
CN112882862B (zh) * | 2021-02-22 | 2022-05-17 | 广州鼎甲计算机科技有限公司 | 邮箱数据恢复方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710893A (zh) * | 2005-07-27 | 2005-12-21 | 北京立通无限科技有限公司 | 基于wap协议的邮件推送系统与方法 |
KR20080088257A (ko) * | 2007-03-29 | 2008-10-02 | 삼성전자주식회사 | 휴대용 단말기에서 푸쉬 메일 서비스를 가능하도록 하기위한 장치 및 방법 |
CN102026117A (zh) * | 2010-12-15 | 2011-04-20 | 中兴通讯股份有限公司 | 一种电子邮件推送设备、方法及系统 |
CN102904801A (zh) * | 2012-10-29 | 2013-01-30 | 北京奇虎科技有限公司 | 消息提醒方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146241A (zh) * | 2006-09-11 | 2008-03-19 | 黄金富 | 手机即时接收电邮的系统及方法 |
CN101557358A (zh) * | 2008-04-11 | 2009-10-14 | 北京亿企通信息技术有限公司 | 一种电子邮件与即时通信整合的方法和系统 |
CN101557357A (zh) * | 2008-04-11 | 2009-10-14 | 北京亿企通信息技术有限公司 | 一种整合电子邮件与即时通讯工具的方法 |
CN101588290A (zh) * | 2008-05-19 | 2009-11-25 | 北京亿企通信息技术有限公司 | 一种利用即时通信客户端提醒用户查阅电子邮件的方法 |
CN101360073A (zh) * | 2008-09-27 | 2009-02-04 | 腾讯科技(深圳)有限公司 | 一种电子邮件到达的通知方法、系统及装置 |
-
2013
- 2013-09-24 CN CN201310439581.4A patent/CN103491170B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710893A (zh) * | 2005-07-27 | 2005-12-21 | 北京立通无限科技有限公司 | 基于wap协议的邮件推送系统与方法 |
KR20080088257A (ko) * | 2007-03-29 | 2008-10-02 | 삼성전자주식회사 | 휴대용 단말기에서 푸쉬 메일 서비스를 가능하도록 하기위한 장치 및 방법 |
CN102026117A (zh) * | 2010-12-15 | 2011-04-20 | 中兴通讯股份有限公司 | 一种电子邮件推送设备、方法及系统 |
CN102904801A (zh) * | 2012-10-29 | 2013-01-30 | 北京奇虎科技有限公司 | 消息提醒方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103491170A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103491170B (zh) | 电子邮件到达消息提醒的方法及系统 | |
US10185479B2 (en) | Declassifying of suspicious messages | |
EP3061215B1 (en) | Conditional delivery of electronic messages | |
EP2817779B1 (en) | Time-managed electronic mail messages | |
US20150081825A1 (en) | Method for Automatically Unsubscribing an Address from a Subscription | |
US7802304B2 (en) | Method and system of providing an integrated reputation service | |
CN111131368A (zh) | 消息推送方法和装置 | |
EP2241160A1 (en) | A messaging system | |
CA2911989C (en) | Method, system and apparatus for dectecting instant message spam | |
CN108631955A (zh) | 一种确保消息发送可达的方法、系统和装置 | |
JP4500285B2 (ja) | スパム除去方法 | |
RU2431888C2 (ru) | Сервер сообщений и способ уведомления пользователя о поступлении электронного сообщения | |
US20040254990A1 (en) | System and method for knock notification to an unsolicited message | |
US10250543B2 (en) | Deduplication of e-mail content by an e-mail server | |
CN104077363B (zh) | 邮件服务器及其进行邮件全文搜索的方法 | |
JP2009169866A (ja) | 電子メールクライアントおよびその制御方法ならびにコンピュータプログラム | |
US20090157833A1 (en) | System and method for sending emails | |
US10237223B2 (en) | Deferring messages using control codes in messages | |
WO2011153582A9 (en) | Electronic messaging recovery engine | |
CN107733790B (zh) | 邮件投递方法、装置及服务器 | |
US20090094333A1 (en) | Collaborative Electronic Mail Filtering | |
US20060168042A1 (en) | Mechanism for mitigating the problem of unsolicited email (also known as "spam" | |
CN103701688B (zh) | 消息队列服务器及其垃圾邮件信息处理方法 | |
CN107835124B (zh) | 邮件发送方法、装置及系统 | |
CN102904965B (zh) | 一种消息提醒系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230418 Address after: Room 501-502, 5th Floor, Sina Headquarters Research Building, Block N-1 and N-2, Zhongguancun Software Park Phase II (West Expansion), Beiwang West Road, Haidian District, Beijing, 100193 Patentee after: Sina Technology (China) Co.,Ltd. Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor Patentee before: Sina.com Technology (China) Co.,Ltd. |