- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅述基于Linux邮件系统关键技术分析
浅述基于Linux邮件系统关键技术分析
摘要:随着网络技术不断发展,电子邮件日益受到众多用户青睐。本文介绍了嵌入式Linux的Web邮件系统设计。在说明邮件系统收发及传输原理基础上,对于基本邮件软件qmail的收发机制进行详细的阐述。
关键词:Linux qmail Web邮件系统 嵌入式数据库
0 引言
由于电子邮件不受时间、空间的限制,其成为最基本、最普及、最方便的网络通讯功能。目前,由于电子邮件收发系统本身存在着若干漏洞,其中最引人注目的是接收大量的垃圾邮件与黑客利用电子邮件进行的病毒(如木马)入侵,这些都需要靠人工处理。把E-mail和Web技术结合起来,通过Web编程和适当的系统设置,使用户只需要访问Web就可以得到和使用完整的邮件服务,我们把这种系统称为webmail[1]。本文就基本邮件服务器的构建技术进行相关分析,提供基于Web的数据库管理功能,为管理员提供了方便,同时也为邮件用户提供了基于Web的邮件服务功能。
1 电子邮件系统的构建
1.1 电子邮件收发机制 电子邮件传输过程为,当终端用户发送一封电子邮件时,首先试图去寻找一个信件传输代理,把邮件提交给它,信件传输代理得到了邮件后将它保存在自身的缓冲队列中,然后根据邮件的目标地址,通过对DNS进行查询,搜索到对应这个目标地址的邮件传输代理服务器的IP地址,并通过网络将邮件传送给邮件传输代理服务器。对方的邮件传输代理服务器接收到邮件之后,将其缓冲存储在本地,并通过投递代理将邮件分发至最终用户的邮箱,电子邮件的接收者通过用户代理查看自己的电子信箱。不管是发送过程还是接收过程,电子邮件的传输都要遵循SMTP、POP3、IMAP协议,这些协议确保了电子邮件在各种不同系统之间的传输。
1.2 电子邮件系统开发平台相关分析 Linux由于自身的特性[2],能够为我们提供最佳应用和开发环境,也给硬件平台的选择提供了很大的自由空间。基于Limix的这些优越性,我们选用Linux操作系统作为软件平台来开发Webmail系统。Linux中的电子邮件系统包括两个组件:MUA(Mail User Agent 邮件用户代理)和MTA(Mail Transport Agent 邮件传送代理)。MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA运行在底层,能够处理邮件的收发工作。即用户可以通过MUA写信、读信,而通过MTA收信、发信。在Linux环境下有许多不同类型的MTA程序,当前比较流行MTA系统有Sendmail、qmail、Smail。这里采用qmail作为基本服务器软件,使用maildir作为邮件存储格式。由于vPopmail提供了大量的命令,方便建立和管理独立于系统用户的邮件用户以及对软、硬磁盘空间限额的管理。因此在qmail的基础上,我们选用vpoomail来增强系统的虚拟域功能。数据库的开发我们选用Mini SQL,它是种小型的关系数据库,性能不是太好,对SQL语言的支持也不够完全,但由于它的短小精悍,非常适合嵌入式数据库和网络数据库的应用开发。
2 qmail邮件软件机制
2.1 qmail软件结构 qmail系统是由一系列子程序组成的,这些子程序可分为两类:可执行程序和使用工具程序。qmail系统在运行时,有五个可执行程序在后台运行。这五个程序分别为:qmail-send、qmail-ISpawn、qmail rSPawn、qmail clean、splogger。qmail-send程序尝试投送qmail队列里的邮件消息;qmail-lspawn程序一般被qmail-Send程序调用向qmaill-local程序转发消息;qmail-rspawn程序被qmail-send程序调用向qmail-remote转发消息;qmail-clean程序将永远无法投递的消息从qmail队列中移出;splogger程序将消息插入系统登录程序中。这五个程序相互协调工作,共同控制qmail系统的邮件收发工作。
2.2 qmail收发邮件机制 从电子邮件的来源来看可分为两类:来自远端用户的邮件和本地用户的邮件。在qmail系统中,qmail-smtpd程序负责接收来自远端用户的邮件消息,并将它们传递给qmail-queue程序处理。远端用户的邮件消息是采用SMTP协议进行传输的,qmail-smtpd必须时刻准备接收来自网上的消息。qmail系统采用了一个网络辅助程序Inetd来监控IP连接,当一个SMTP连接尝试被检测时,Inetd自动地启动qmail-smtpd程序并将该IP连接的控制权交给该程序去处理。qmail-inject程序用来接收本地产生的邮件消息。邮件消息被
原创力文档


文档评论(0)