构建开源邮件系统系列一
当今,是一个信息化的时代。我们不仅可以借助像电话机、手机这些通信产品,还可以借助QQMSN等网络即时通讯产品来沟通。但是电子邮件始终没有被人们遗弃,甚至倍受企业用户青睐,据统计,超过30%的业务量来自电子邮件,仅次于WWW服务。本系列文章将介绍,如何使用开源软件构建免费邮件系统。
一、电子邮件简介
    电子邮件(Electronic mail)诞生于20世纪70年代,用来在InternetIntranet上进行信息的传递和交流,具有快速、经济的特点。如果使用传统的寄信方式,根据目的地的不同需要的时间不同,但是至少需要一天时间。电子邮件较传统的寄信方式有它鲜明的优势:不光费用低廉,而且时间短暂,通常几分钟之内对方就能收到。
    电子邮件采用存储转发的方式,因此发送邮件时并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。
二、电子邮件原理
电子邮件的简单易用、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,可以说现在电子邮件的用途无穷无尽。在维护与管理电子邮件系统的过程中,我们将会面临各种各样的问题,导致邮件系统不能正常的运行,影响正常收发邮件。在解决这些问题的过程中,掌握电子邮件的收发过程是排除故障的重要一环。下面我们介绍一份电子邮件从发件人发送到收件人成功接收的整个过程(如下图所示):
从上图可以看出电子邮件系统由MUAMTAMDA三部分组成。那MUAMTAMDA到底是什么呢?下面我将逐个解释三个名词:
MUA Mail User Agent
MUA即邮件用户代理,主要是帮助用户读取、编写和回复邮件,然后将这些信息转给本地MTA进行发送;常见著名的MUA程序有OutlookFormail等。
MTA Mail Transport Agent
MTA邮件传输代理,负责把邮件由一个服务器传到另一个服务器或邮件投递代理;在Linux/Unix系统上,最著名的MTASendmailQmailPostfix等程序,在Windows下有ExchangeLotus等。
MDAMail Delivery Agent
MDA邮件投递代理,主要负责将MTA接收的邮件,根据收件人地址将邮件投放到用户的邮箱里。在投放的过程中,还可以进行邮件过滤、自动恢复等功能。
简单的说,在电子邮件传输的过程中,类似普通的信件传递过程。为了便于大家理解,我们以给“小废”发送一份邮件为例。到目前为止,我们知道,首先我需要使用MUA程序(如Outlook)编辑邮件内容并注明收件人“小废”的邮件地址blog@51cto.com后,MUA把邮件转发给本地的MTA,当MTA程序得到待转发的邮件时,它需要根据目标地址确定将信件转发给哪一个服务器,也就是目标MTA,这是通过DNS服务实现的。然后此邮件通过多个主机或网络到达最终的投递代理(MDA),由投递代理将邮件信息发送到接收者的邮箱文件中,最后“小废”使用MUA来查看邮件。
注意:blog@51cto.com邮件地址,在互联网中,我们称为电子邮件地址格式,一般书写格式为用户名@域名@ 是英文 at 的意思,所以电子邮件地址是表示在某部主机上的一个用户帐号。
这封邮件从我编写到“小废”收到,在整个过程中“电子邮件协议”起到举足轻重的作用。常见的电子邮件协议有以下几种:SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAPInternet邮件访问协议)、HTTPS/MIME。这几种协议都是由TCP/IP协议族定义的。
SMTP服务器
SMTP协议是简单邮件传输协议(Simple Mail Transfer Protocol)英文的缩写。使用端口“25”,SMTP控制如何传送电子邮件,然后通过Internet将其发送到目地服务器。
POP服务器
POP服务器提供一个非常简单的服务。它允许用户访问自己的邮件假脱机文件,然后将内容传送到他们本地的MUAPOP服务器通常和端口110绑定。要求每个POP客户端程序用一个用户名/密码来完成身份验证。大多数先进的MUA作用和POP客户端程序一样,能够配置成从一个指定的P OP服务器里检索邮件。
IMAP服务器
IMAP服务器通常给客户程序提供更全面的邮件信箱管理功能。IMAP用户可以在邮箱服务器拥有几个文件夹,并不仅仅是个人的收件箱。总而言之,IMAP服务器表示用户的电子邮件打算永久地保存在邮件服务器上,用户偶而或从一个远程机器上的MUA来“浏览”他们的邮件。一般来说,IMAP服务器通常在机构和企业网络系统中使用。IMAP守护进程和端口143绑定。
POPIMAP的区别在于,POP协议只能把服务器上的邮件下载到客户端处理;IMAP除了POP的访问方式外,还有在线阅读、远程维护邮箱、在服务器上保存邮件等功能。
HTTPS
通过浏览器使用邮件服务时使用。
邮件格式协议
现在,人们可以通过邮件发送各种各样的信息:照片、小说、技术文档、应用程序等。而早期面向文本消息传送的邮件格式已经远远不能应付这些复杂的格式了,所以新的邮件格式标准协议MIMEMultipurpose Internet Mail Extensions,多用途Internet邮件扩展,简称MIME)就应运而生。它描述了如何安排消息格式以使消息在不同的邮件系统内进行交换。MIME的格式灵活,允许邮件中包含任意类型的文件。比如文本、图像、声音、视频及其他应用程序的特定数据。
未完待续