新型电子邮件系统设想
【说明】这是我很久以前的一个设想了,大约是在2000年左右吧。后来一直自己想学Windows下编程自己做一个,但一直没学会。现在发到博客中,如果那位朋友有兴趣,可以自己写个类似的邮件服务器的程序。如果现在所有的邮件系统遵循这个原理,垃圾邮件会少很多的。
现在邮件服务器的缺点:
1、
垃圾邮件过多,即使有良好的防垃圾邮件措施,但却不能“真正”的禁止垃圾邮件。
2、
不能传送太大的附件,传送时使用单线程、发送失败的次数比较多<上传一20M的,等上传了10多分钟后,提示附近过大>
3、
不能撤消,没有后悔功能<在发送合同时,经常是发过之后,有修改的,这样用户会收到多个,无所适从>
4、
发送垃圾邮件者,没有损失<随便一个用户,就可以架设一台邮件服务器发送垃圾邮件,发送之后,垃圾邮件已经发到每个用户的收集箱中,即使把垃圾邮件发送者绳之以法也无寄于事>
5、
在发信时,把信整个寄到收信人所有的邮件服务器,如果多个收信人使用同一个邮件服务器,也会发送多份。
现代社会: 邮局(寄信、寄包裹) 车站(货运、大宗物件)
网络社会 E-Mail FTP
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
现代社会: 谁寄信、谁付费
网络社会: 谁收信、谁付费
现在的电子邮件系统,仍然在模仿传统的邮局方式:
1、
把信寄到收件人所属的邮件服务器
2、
谁收集、谁付费(邮局最初的方式)
3、
广告信件、垃圾邮件太多(广告信件会充斥你的邮箱,即使警察把投广告信者抓走,你的邮箱仍然要自己清理
!)
实际上,现在的网络时代,已经与原来最初的网络已经不同:
1、
收件人,不一定与邮件服务器在同一城市、甚至不一定从所属的邮件服务器接收邮件最快。
2、
发件人,也不一定使用与邮件服务器在同一城市的邮件服务器
3、
传统信件,很收人有寄错,但电子邮件,经常有人寄错
4、
传统的电子邮件,附件不会超过
10M
,当时信息量太小。但现代的电子邮件,附件超过
10M
、
100M
、
1G
的,大有人在。
所以,我的想法是(主要原理):
综合现在SMTP、网站下载、FTP上传等方式,发邮件的时候,将邮件附件以多线程方式上传到FTP,然后将下载地址(FTP或网站下载地址)发给对方,而邮件保存在自己的FTP或邮件或者网站空间中,对方邮件后,从邮件中得到下载地址,从发信人的空间(多线程)下载邮件。如果发信人发信之后需要修改,只需要修改自己的附件就行,只要收信人没有在修改前下载就可以。
所以,就有了下面的要求(自己写的,不一定完善)
新型电子邮件系统要求书
1、
人工防垃圾功能(
1
、系统管理员认为是垃圾邮件的。
2
到多名高级用户认为是垃圾邮件的。
3
、多名普通用户认为是垃圾邮件的)
2、
高效率邮件传送方式(只发送快捷方式)采用
IIS
下载的方式。
3、
多线程上传与下载邮件。
4、
邮件的撤消功能(发送端撤消功能、接收端撤消功能)后悔功能
5、
Windows
与
Linux
版本。在
Windows
版本中,读取
Active
Directory
或者计算机用户信息,也可以自建。
Linux
版本。采用
C
或者
C
++编程。
6、
采用前端、后端、独立邮件服务器方式,单台服务器可以支持上万用户、同时并发
3000
用户连接。多台服务器时,每台服务器独立最大并发连接达
2000
用户。
技术要求书
1
、用户文件夹结构
2
、邮件的发送与接收
3
、邮件的上传:采用类似
FTP
或者
web
的上传方式,上传到用户自己文件夹
4
、邮件的发送:发送快捷方式
5
、邮件的接收:垃圾邮件判断功能,如果是垃圾邮件,其他人收到的同名邮件将自动删除。
6
、邮件的发送撤消,在发送之后,可以撤消前一发送邮件(判断)
7
、邮件的接收:接收邮件(采用多线程下载方式,下载邮件到本地)
8
、
IIS
部门文件夹
用户文件夹(收件箱、发件箱、垃圾邮件箱、己发送、便笺、存储箱、日历、公共文件夹、网络存储、记录文件夹等)
总体设计分为
4
部分:
邮件客户端、
Web
客户端
服务器端、
IIS
服务
服务器端管理、
Web
客户端管理
FTP
服务器端与
FTP
客户端、
FTP
的
Web
客户端
1、
服务器端(功能实验、设置
-
配置管理等)
2、
邮件客户端(参考
FoxMail
)
a)
邮件客户端,在上传邮件时,使用多线程上传方式(调用
FTP
或者
FTP
的
Web
客户端),并为收信者设置下载密码
b)
只发送邮件的链接,此链接包括了从
FTP
服务器端下载文件的用户名、密码及文件内容
c)
上传文件时,压缩为
zip
格式或者
xml
格式
d)
接收时,如果有多个用户同时接收,自动启动
P2P
的功能
3、
Web
客户端(
Web
客户端管理
—
参考
WinWebMail
、
Web
端使用
—
参考
Exchange
)
4、
FTP
服务器端(支持单文件多线程上传、多线程下载,支持针对某一文件设置下载密码)
5、
FTP
客户端(支持自动多线程上传、下载)
a)
最初单线程上传,记录当时上传(下载)速度
b)
接下来分为
2
线程,上传,如果每个线程速度不变,继续分为
4
个线程、直到
8
个线程,当超过
8
个线程后,累计增加
4-5
个线程,如果总上传速度增加,则持续增加上传线程,直到上传速度达到最大
c)
上传之后,为当前上传的文件设置下载密码、修改密码及删除密码
d)
如果再有相同文件上传,其下载密码不变、修改密码及删除密码亦不变,但后来上传文件将自动覆盖前一上传文件(其实并没有覆盖,只是原文件改名另存、在
1
周
<
此时间可以设置>
后真正删除)
6、
FTP
的
Web
客户端,与
FTP
客户端具有同样的功能