最近看了些pushmail的文章。简单总结下:
从push方法上说有ip push和sms push。
ip push就是让手机始终握着gprs,从而有个ip,让mail server和手机之间始终有个通路,这样server一旦有邮件就马上通过ip push到手机终端上了。
sms push就是mail server有邮件了,通知运营商push个短信到手机终端上,手机一旦收到了短信了就马上打开自己的gprs,这在技术上很容易实现,比如android下,只需要监听到短信,这种短信必须有别于其他普通信息,比如:从来信号码上区分、内容区分等,就马上去打开gprs的权限,从而马上就打开了gprs,这样之后才会有mail server同手机终端的通路,之后就是把邮件push到终端的事情了。
比较上面的两种方法,可以很容易得到区别:
ip push:时刻连着gprs,费电,高辐射。
sms push:只在有邮件才打开gprs,省电,低辐射。
因此,sms push给我们的启示了以后push mail的发展方向。
如何实现sms push呢?
通过上面提到的流程:
首先要设法实现mail server与运营商的通信,因为你需要把邮件到达服务器的情况告知运营商。
接着运营商要给终端发短信,这个很简单,这是运营商最基本的工作。
之后就是手机终端的应用软件做的事情,就是打开gprs。
至此,mail server就和手机终端建立了个通路了。
接着就是数据的传输过程了。
mail server与运营商的通信必须建立在TCP/IP协议上,就是基于internet上的链接,因此运营商必须维持一个即能同mail server又能同手机终端进行短信链接的网关,实际上就是GEGW,邮件推送网关,Gprs Email GateWay.
而为了安全性以及灵活性的需要,在mail server和GEGW之间又抽象了一个所谓的转发器,它转换和缓存mail server传过来的数据,同时又通过internet同GEGW之间建立链接。它在某些解决方案中被叫做CEF(corporation Email Forward).
最后就是你在移动终端上的客户端了,当然有些解决方案把这个给省略了,详细的自己Google下。
那么拓扑结构是什么样子的呢?
当有新邮件到达时,CEF通过GEGW发送EMN短信到手机终端,触发用户手机Push Mail客户端,通过GPRS网络连接GEGW,与CEF建立一条端到端的SSL加密通道连接,取得邮件。