最好的Linux邮件传输代理(MTAs)
邮件传输代理(MTA)是什么?
MTA是一个应用程序,该应用程序路由和传输电子邮件从一个节点到另一个网络,它使用一个被称为SMTP(简单邮件传输协议)的协议来执行其任务。
在网络节点上,存在一个电子邮件客户端,用于发送和接收消息的邮件服务器,电子邮件客户机也使得使用SMTP协议的,但未必是MTA。
MTA被安装在邮件服务器上,和一些电子邮件客户端中,如(Mozilla Thunderbird)雷鸟,(Evolution),微软的Outlook和Apple mail都安装了邮件客户端。
在本文中,我们将介绍几个Linux下常用的邮件服务器,它们都使用了MTA。
1. Sendmail
Sendmail 现在被称为 proofpoint(after Proofpoint, Inc acquired Sendmail, Inc)是迄今为止在Linux服务器平台上最受欢迎和最古老的 MTA。Sendmail 相对于现在一些MTAs有很多限制。由于其复杂的配置步骤和要求,和薄弱的安全机制,许多新的 MTA 开始替代 Sendmail。
sendmail安装
#检查软件是否安装
rpm -qa | egrep "sendmail|dovecot|cyrus"
#安装邮件服务器
yum -y install sendmail sendmail-cf
#安装pop3/imap服务
yum -y install dovecot
#安装用户认证软件
yum -y install cyrus-sasl cryus-sasl-md5 cryus-sasl-plain cyrus-sasl-lib
官方网站: http://www.sendmail.com
2. Postfix
Postfix 是一个跨平台的、流行的MTA,被当时在IBM研究部门的Wietse Zweitze Venema开发和设计用于公司的邮件服务器。
它开发主要目的为了替代公众的,流行的Sendmail MTA。 Postfix运行在Linux,Mac OSX,Solaris和其他几个类Unix操作系统上。
它借用了很多Sendmail的外在属性,但它有一个完全不同内部操作。此外,它的优势在于方便配置和安全机制的功能性模块,并具有以下主要特点:
- 垃圾邮件控制
- 支持多种协议Supports multiple protocols
- 支持数据库
- 支持Mailbox
- 支持地址操作,更多功能参考官方文档
postfix安装
rpm -qa | egrep “postfix|mailx“
yum -y install mailx postfix
service postfix start && chkconfig postfix on
官网地址:http://www.postfix.org
3. Exim
Exim 是一个免费的MTA,开发用于类Unix操作系统,如Linux、Mac OSX,Solaris等其他操作系统。Exim提供了很大的灵活性,用于网络上的邮件路由,同时包括良好的机制和接受邮件监控的设置。
其显着特点包括但不限于:
- 不支持POP和IMAP 协议
- 支持的协议,如RFC2821 SMTP和RFC2033 LMTP电子邮件传输
- 配置其中包括访问控制列表,内容扫描,加密,路由控制
- 优秀的文档
- 它具有实用程序,如Lemonade是各种各样的SMTP和IMAP扩展
Exim安装
#安装最新的epel源
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
# 安装exim
yum -y install exim-mysql mailx
service posftix stop && chkconfig postfix off
chkconfig exim on && service exim start
# 测试邮件
echo “this is test from exim” | mial -s “exim”
tailf /var/log/exim/mainlog
官方网站:http://www.exim.org/
4. Qmail
Qmail 是另一种免费的,开源的,现代的Linux MTA,相比其他MTA,它简单,可靠,高效,从而提供了广泛的安全功能,安全的MTA包。
它很小但是功能丰富,一些特性包括:
- 运行在多种类Unix操作系统之上,如FreeBSD, Solaris, Mac OSX plus 等更多
- 安装简单快捷
- 自动配置每个主机
- 地址,文件和程序之间的分隔明确
- 全面支持地址组
- 让每个用户管理自己的邮件列表
- 支持一个简单的方法来建立邮件列表
- 支持VERPs
- 支持自动防止邮件列表的循环
- 支持ezmlm的邮件列表管理器
#Qmail 安装
wget http://infobase.ibase.com.hk/qmail/netqmail-1.06.tar.gz -p /usr/local/src
tar xpf netqmail-1.06.tar.gz && cd netqmail-1.06 && ./collate.sh
make setup check && ./config
更多Qmial安装的详细信息请移步到其官网wiki:http://lifewithqmail.org/LWQ-CN.html#download,文中不过多赘述
官方网站: http://www.qmail.org
5. Mutt命令行邮件客户端
Mutt 是一个基于类Unix操作系统,小而强大的电子邮件客户端。
作为一个基于文本的电子邮件客户端,它有一些令人振奋的功能,显著特点包括:
- 邮件主题
- 支持IMAP和POP3协议
- 支持多个邮箱格式,如MBOX,MH,Maildir,MMDF
- 支持传送状态
- 多个邮件标记
- 支持PGP/MIME (RFC2015)
- 各种功能以支持邮件清单,其中包括列表回复
- 撰写期间邮件头的完全控制
- 安装容易
- 活跃的社区开发
官方网站: http://www.mutt.org/
6. Alpine
Alpine 是Linux的一个快速且易于使用的基于终端的电子邮件客户端,它是基于Pine邮件系统。它非常适合初学者和电力用户,用户可以轻松地学习如何通过上下文相关帮助使用它。
重要的是,它可以通过Alpine命令进行高度定制。
# Alpine 安装
wget ftp://ftp.cac.washington.edu/alpine/alpine.tar.gz
tar zxvf alpine.tar.gz && cd alpine && ./configure && make && make install
注:更多Apline安装的详细信息请参考:https://www.washington.edu/alpine/tech-notes/installation.html(自行FQ)
官方网址:https://www.washington.edu/alpine/
总结
文中简要的介绍了邮件是如何从邮件客户端,通过网络传到邮件服务器上,并通过邮件路由发送到指定客户端,更重要的是对MTA的工作方式有了一些了解,如果你需要搭建一台邮件服务器的话,上面几个MTA是很好的选择。