您的位置:首页 > 运维架构 > Linux

Linux下的邮件系统概述

2006-05-17 16:02 148 查看
Windows下使用Outlook Express (OE) 收发邮件,配置与使用简单,在Linux图形窗口界面下使用Netscape收发邮件与OE类似。但Linux下的邮件系统是比较复杂的,邮件服务器sendmail的配置文件被称为天书,需要掌握许多概念才能配置Linux下的邮件系统。

通常,邮件的编写是用mail之类的程序来完成的,例:mail jinqxxxx@163.com。mail程序为命令行程序。也有人用稍复杂的邮件程序接口,比如mutt, elm, pine, 它们是字符方式窗口程序,有简单菜单与快捷键。这类程序称为"邮件用户代理",简称MUA。

但是没有本地的邮件服务,MUA并不能实际工作。如未配置邮件服务,mail jinq 并不能将消息发送到本地用户jinq的邮箱。如果需要发送一条电子邮件消息,MUA程序会将邮件交给另一个程序进行投递。就是所谓的"邮件传输代理",简称MTA。

sendmail就是一个最古老, 最成熟,应用最多的MTA,也是最难配置的,安全性最差的MTA。其它MTA有:qmail, postfix,courier. MTA其实就是SMTP邮件服务器。(没有本地邮件服务器就不能发邮件了吗?好象是的,除非使用Natscape, 可以利用远程SMTP服务器发信。)

整个邮件系统实际上分为MTA, MDA("本地递送代理"), MSA(邮件存储代理), MUA,是将邮件路由、邮件发送、邮件存储以及邮件阅读分开。sendmail, 只提供邮件路由功能,将发送留给管理员可以选择的本地代理。发送是本地操作,指邮件分发到不同用户的Mailbox, 与邮件路由不同。

假定电子邮件存储在ISP上,可采用常规的方式(如使用Netscape,设置为POP3访问)访问邮件。在这种方式下,该软件下载所有消息到个人Linux帐号,可以对邮件消息进行随意的阅读、回复和排序。除此外,只有fetchmail,POP3收信程序才能将邮件收到本地。(Linux下只有这一个POP3收信程序吗?)

fetchmail不是邮件阅读器,而是执行单独下载邮件的程序,该程序唯一的目的是登录到POP3或者IMAP服务器并下载所有邮件。该程序下载邮件,每个邮件传递到本志邮件投递代理(MDA),如procmail进行过滤分发,也可通过本地Linux计算机的端口25 使用sendmail, qmail, smail或者其他一些与SMTP兼容的邮件服务器实现投递。一旦邮件发送到邮件假脱机文件(/var/spool/mail/<username>)中,可以使用如elm、pine这样的命令行邮件程序阅读。

这种获取邮件的方法带来许多好处,在消息到来时如果使用procmail脚本过滤接收的消息,或sendmail配置为使用procmail作为本地邮件投递程序,则可以正确地过滤邮件。还有如果在使用sendmail并且在主目录有一个.forward文件,将处理该文件,如转发。

promail经常被用作"本地递送代理"和邮件处理代理。允许用户编写脚本程序实现对某些特定邮件的自动发文,拒绝,恢复或者转寄功能。

fetchmail,不能划归到MTA,MSA,MUA的分类中,各应用程序也大都兼有多种功能,必须互相配合形成Linux下的邮件系统。但也因为有各种组合配置,才会有各种功能:如邮件列表,自动回复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: