Linux下的邮件系统概述

在Linux下有许多软件包可以实现标准的邮件服务。UNIX/Linux的电子邮件系统模型基本可分为邮件传递代理MTA,邮件存储和获取代理MSA,以及邮件客户代理MUA三大模块。虽然也有一些特殊的邮件应用程序无法确切归入上述分类。下面我们就Linux邮件服务做一概述。

1、邮件传递代理-MTA

在Linux下的邮件传递代理包括sendmail,该系统几乎在任何UNIX平台上都有相应的版本;还有D.J. Bernstein的qmail以及Wietse Venema的Postfix系统。它们负责接收并转递邮件。这听起来很简单,实际上设置可能相当复杂。在邮件策略管理时需要设置一系列的路由和伪装选项,而许多功能是由语言编程实现的,用以过滤或者修改中继消息的头信息。此外邮件路由和寻址邮件存储信箱的过程包含了复杂的与各种目录服务交互操作,这些目录服务可能包括DNS,密码文件,NIS, LDAP别名/数据库管理文件,以及各种的通用数据库系统。

如今的MTA还要实现反垃圾邮件功能,控制邮件头的to和from地址格式,达到允许或者限制特定域名或者地址范围目的,以上主要是通过修改存取控制表和规则实现。这一过程通常包括查询数据表或者目录服务,例如Paul Vixie的实时黑洞列表程序RBL,邮件滥用预防系统MAPS,以及同类的Dorkslayer/ORBS系统。MTA一直在不断增强之中,以实现加强的策略控制以及反病毒和反蠕虫等功能。

在大多数情况下,安装和设置MTA系统比较容易,不过强大的功能的实现是以高度复杂性为代价的。如果你所在的机构选择定制的MTA来满足特定的路由,体系,安全性和反垃圾邮件等要求,就需要更加复杂的设置选项,配置包括设计并处理MTA和各种子系统如LDAP、DNS服务器之间的复杂关系。

2、邮件存储和获取代理MSA

一旦安装并设置完成了MTA,通常还需要对MSA系统进行同样的配置过程。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过POP或者IMAP来读取各自的邮件。

邮件存储的管理有许多种协议,但如今最常用的是POP3和IMAP4。对于MTA来说,由一些程序,或者称之为Daemon来实现相应协议的服务。大多数MSA可以与通用的MTA交互,此外这些系统还包含加锁或者其他安全机制,使得多个MSA可以并行工作而不发生冲突。

这意味着一些用户可以通过POP协议获取邮件而同时其余一些用户可以使用IMAP协议,而另外一些用户可以登录系统,使用本地MUA例如pine,mutt或elm处理邮件。单独用户也可以从一种存取协议切换到另一种,而并不需要系统管理员的干预。聪明的用户甚至可以越过通常的MSA/MUA服务,而使用通常的UNIX命令如cp、mv和ftp或者远程同步rsync来随意处置他们的邮件。对普通用户来说这有些艰涩,但该方法有时可以用来方便地修复崩溃了的邮箱系统。

在一个已经安装了Linux系统机器上设置POP服务相当容易,甚至不需要什么操作。通常POP Daemon在最初的Linux操作系统安装时已经设立。而如果POP daemon被禁止,可以在/etc/inetd.conf文件中去掉相应行的注释,并重新启动Daemon服务即可。

类似的,IMAP也是如此。POP通常将邮件转递到客户端并从服务器上移除,而IMAP允许用户将邮件存贮在服务器端的文件夹中,而客户端的拷贝是缓存或者工作副本,这样做需要更多的服务器存储空间,却可以让IT部门集中在服务器端进行备份和恢复,并让客户端保持相当的灵活性和安全性。IMAP也可以设置成象POP那样在客户端读取后就删除服务器端的邮件,从操作上讲,两者并没有什么不同。两种服务都由inetd来控制,或可称其为网络分发服务,相当于Linux的“传达接待员”。

POP或IMAP可以经年累月的不间歇地运行。无需特殊关照,默默地为成百上千个用户和邮箱服务。不过有时邮件回复系统会犯些愚蠢的错误,或者有些邮件软件产生了一些bug,这就需要系统管理员介入,解决某些系统故障,清除一些邮件碎片和垃圾。

例如,有的用户的pop系统可能崩溃,通常是由于客户收到了太大的邮件附件所致。过大的附件文件超过了磁盘空间限制,解决方法是利用shell命令,利用uudecode解码附件,并存储到该用户的home目录。也可以设计一些小脚本程序来处理邮件,重新恢复用户的邮箱系统。通常UNIX下的mbox是简单的文本文件,qmail邮件存储在含有单个小文本文件的目录中。一个胜任的系统管理员完全可以轻而易举的实现上述操作。也就是说,你所遇到的大多数与MSA和MTA有关的问题可以通过文本编辑器和常用的UNIX过滤器和应用程序加以解决。

3、邮件客户代理MUA

邮件客户代理MUA种类繁多,而且如雨后春笋,层出不穷,各有千秋。大都符合POP和IMAP协议。这也包括微软的Outlook系列。在Linux下,许多人使用fetchmail抓取邮件并保存在本地邮箱。然后使用任何一种邮件客户代理MUA,比如elm,pine,mutt,MH/exmh,EMACS的rmail,vmail,mh-e,gnus以及大量的带有GUI界面的如Balsa, Mahogany等来处理邮件。也有众多Linux用户选择使用Netscape Communicator内置的邮件客户端。

4、另类的Linux邮件应用

在Linux和UNIX下,也有许多工具诸如procmail,vacation,biff,和fetchmail等,不能划归到MTA,MSA,MUA的分类中。这里做另类简介。

promail经常被用作“本地递送代理”和邮件处理代理。它通常用来过滤发送给最终收信人的传送信息部分。允许用户编写脚本程序实现对某些特定邮件的自动发文,拒绝,恢复或者转寄功能。也可以用作处理邮箱,或者作为常规的电子邮件编程语言和程序库。

vacation是一个收信后自动回复邮件的早期简单应用。最初用来提醒通信者收信人正在度假,这一功能完全可以通过两行简单的procmail命令实现。

biff可用来通知用户有邮件到达。在图形界面GUI下,也有几款类似的应用,可以通过显示图标,动画,播放音乐或者语音提示表达邮件事件。还可以通过各种后台的MSA协议实现biff信息在整个网络上的中继传递。

总之,Linux下的邮件服务是方便灵活,强大而复杂的。只要精心规划,悉心设计,细心配置,完全可以搭建出高效而免费的多功能电子邮件系统平台。

时间: 2024-10-03 12:16:43

Linux下的邮件系统概述的相关文章

linux下Postfix邮件服务的安装过程和基本配置

一.postfix邮件服务的安装 Red Hat Enterprise Linux 提供了sendmail和postfix两种STMP邮件服务软件,让用户可以随意地选择其中一种!不过,默认情况下安装程序已将sendmail安装到系统中了,如果要使用postfix,就必须先将sendmail服务停止,然后再安装postfix服务软件.具体操作步骤如下: 1).检查sendmail服务是否已启动 [root@mail ~]#netstat -nutlp | grep :25 2>. 关闭sendma

Linux下操作邮件的一些基础命令

  系统提供了用户之间通信的邮件系统,当用户打开终端注册登录时发现系统给出如下信息: 代码如下: you have mail. 这时用户可通过键入mail命令读取信件: 代码如下: $ mail mail程序将逐个显示用户的信件,并依照时间顺序,显示最新的信件.每显示一段信件,mail都询问 用户是否要对该信件作些处理.若用户回答d,则表示删除信件;若仅按回车键,表示对信件不作任何改 动(信件仍旧保存,下次还可读这一信件);若回答p,则要求重复显示信件;s filename表示要把信件 存入所命

如何在Ubuntu环境下搭建邮件服务器(一)

在这个系列的文章中,我们将通过使用 Postfix.Dovecot 和 openssl 这三款工具来为你展示如何在 ubuntu 系统上搭建一个既可靠又易于配置的邮件服务器. 在这个容器和微服务技术日新月异的时代,值得庆幸的是有些事情并没有改变,例如搭建一个 Linux 下的邮件服务器,仍然需要许多步骤才能间隔各种服务器耦合在一起,而当你将这些配置好,放在一起,却又非常可靠稳定,不会像微服务那样一睁眼有了,一闭眼又没了. 在这个系列教程中我们将通过使用 Postfix.Dovecot 和 ope

linux下通过命令行获取gmail的新邮件

  在这篇文章中,我将为你展示 Linux 命令行的另一个漂亮干练的使用案例:访问 Google 的 Gmail 服务,有需要的小伙伴可以参考下. linux下通过命令行获取gmail的新邮件,不需输入@gmail.com部分 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/bash   num="33[1;36m" end="33[0m"   read -p "Enter your mail: " name rea

Linux 下如何用 mutt 设置邮件报警

Linux 下如何用 mutt 设置邮件报警 在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail, sendEmail, Postfix等等,它们的优缺点我就不说了,使用上也各有所爱. 今天我要给大家介绍的mutt,也许大家也不陌生,网上太多关于mutt和sendmail或者跟msmtp合作使用的教程.其实,mutt非常的强大只要你仔细研究一下官方文档. 系统环境:CentOS 6.5 0.在正式安装mutt之前 先检查一下两个安全组件. OPENSSL:

邮件-linux下mail命令怎么发送html?

问题描述 linux下mail命令怎么发送html? rt.在使用mail命令发邮件过程中,如何发送html类型的内容?网上找了半天都没有可以的,有没有大神能指点一二,跪谢!!! 解决方案 html内容也是字符串格式填充 解决方案二: mail不行,不能指定mimetype,你用linux的话可以试试用Perl脚本 http://bbs.chinaunix.net/thread-1855349-1-1.html 解决方案三: mail命令发送html格式的电子邮件

linux下通过命令行获取gmail的新邮件_linux shell

linux下通过命令行获取gmail的新邮件,不需输入@gmail.com部分 #!/bin/bash num="\033[1;36m" end="\033[0m" read -p "Enter your mail: " name read -p "Enter pass of mail: " pass atom=`wget -qO - https://$name:$pass@mail.google.com/mail/feed/

Linux下邮件发送 sendEmail介绍

Linux下邮件发送又一方法--sendEmail使用方法: 下载sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz  代码如下 复制代码 tar –zxvf sendEmail-v1.55.tar.gz cd sendEmail-v1.55 cp sendEmail /usr/local/bin chmod 0755 /usr/local/bin/sendEmail /

Linux下备份恢复技术的应用

  本文讲述Linux环境下,如何使用备份的脚本和命令以及商业化的软件来合理高效地保护磁盘数据安全. 备份与恢复系统承担着事前备份与事后恢复的职能.在当前高速发展的网络环境下,任何一个网络上的信息 系统都不可能保证绝对的安全.只要有网络存在,就会有来自网络的形形色色的威胁.为了抵御网络的攻击和入侵,虽然我们引入了日趋成熟的入侵检测系统.防火墙系统等,黑客们的入侵手段也日益高明,他们总能找到这些系统的安全漏洞及不足进行入侵,因而网络入侵所引起的安全事件呈逐年增加之势. 在这种情况下,我们难以保证网