一种基于邮件协议的聊天工具

来源:互联网 发布:ipad下载东西软件 编辑:程序博客网 时间:2024/06/06 10:07

在学习编写局域网即时聊天工具时,发现这种软件只能是在同一个局域网内传递消息。

随着网络知识的学习,发现邮件的SMTP和POP3协议支持邮件的发送,而且同样是tcp/ip通信,

而且现在很多免费的邮箱都支持客户端存取邮件,这样就联想到将聊天工具架设到一个免费的邮箱上面去!

基本思路如下:

1、为系统申请2个免费的并支持SMTP和POP3的邮箱(其实也可以不这样),为了下面容易区分,分别记为邮箱A和邮箱B

     其中A用来发送信息,B用来接收信息(也可以用同一个邮箱)

2、发送消息时统一用邮箱A,发送到邮箱B

邮箱格式如下:

     标题:From:userNameA

              To:userNameB  (识别信息写在标题是为了加快信息的传送,因为大部分邮箱用POP3接收时,可以只提取标题)

     邮箱正文:

                  userNameA在2010/3/15 22:35说:

                  我是userNameA,请问收到吗?

发送结束后,可以删除该邮件,也可以不删除。

3、接收消息时,统一从邮箱B提取内容。过程如下:

     1)读取邮箱B所有邮件,依次处理邮件标题如果接收方和自己的用户名相同则接收该邮件X的信息内容。这就体现出了识别信息写在标题的优点,处理时并不用读取全部邮件的全部信息,这样应该可以加快速度(还没有测试过)

     2)处理邮件X。可以选择读取后删除该邮件,也可以不删除,根据软件设计需要

4、软件是否可以传递文件根据需要选择。传递文件可以利用邮件的发送附件功能。

5、用户注册,向同一的服务邮箱C或是邮箱B(邮箱A,B,C可以是同一个邮箱)发送主题为“userNameX 注册”(用户名后跟空格,在加上注册二字)的邮件,邮件正文填写用户的详细信息,信息格式暂定如下:

用户名:userNameX

用户昵称:雨夹雪

用户好友列表:

userNameA,userNameB,userNameC,userNameD,userNameE,userNameF,userNameG

用户userNameX已经填写不能修改,昵称可以随意修改。关于这个具体的细节有待确定。

6、用户修改注册信息,过程如下:

   1)读取邮箱C中标题为“userNameX 注册”的邮件

   2)读取用户信息并修改后,调用用户注册模块,重新注册。(修改信息的过程也就是重新注册的过程)

   3)删除原注册邮件

7、添加好友时读取标题为“userNameX 注册”的邮件,可获取全部用户userName,由用户自行决定添加哪个好友,此时也可以选择读取特定好友的信息(不包括隐秘信息)。确定后调用修改注册信息模块,将好友列表后添加一条信息例如,添加userNameH。

8、本地保存一份用户好友列表的副本,只有在更新好友列表时,同步邮箱C和本地数据。