Linux下6种优秀的邮件传输代理
| 导读 | 在互联网上,邮件客户端向邮件服务器发送邮件然后将消息路由到正确的目的地(其他客户),其中邮件服务器使用的一个网络应用程序称为邮件传输代理(MTA)。 |

最好的Linux邮件传输代理(MTAs)
MTA是一个应用程序,该应用程序路由和传输电子邮件从一个节点到另一个网络,它使用一个被称为SMTP(简单邮件传输协议)的协议来执行其任务。
在网络节点上,存在一个电子邮件客户端,用于发送和接收消息的邮件服务器,电子邮件客户机也使得使用SMTP协议的,但未必是MTA。
MTA被安装在邮件服务器上,和一些电子邮件客户端中,如(Mozilla Thunderbird)雷鸟,(Evolution),微软的Outlook和Apple mail都安装了邮件客户端。
在本文中,我们将介绍几个Linux下常用的邮件服务器,它们都使用了MTA。
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

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

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/

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

Mutt 是一个基于类Unix操作系统,小而强大的电子邮件客户端。
作为一个基于文本的电子邮件客户端,它有一些令人振奋的功能,显著特点包括:
- 邮件主题
- 支持IMAP和POP3协议
- 支持多个邮箱格式,如MBOX,MH,Maildir,MMDF
- 支持传送状态
- 多个邮件标记
- 支持PGP/MIME (RFC2015)
- 各种功能以支持邮件清单,其中包括列表回复
- 撰写期间邮件头的完全控制
- 安装容易
- 活跃的社区开发
官方网站: http://www.mutt.org/

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(自行翻墙)
官方网址:https://www.washington.edu/alpine/

总结
文中简要的介绍了邮件是如何从邮件客户端,通过网络传到邮件服务器上,并通过邮件路由发送到指定客户端,更重要的是对MTA的工作方式有了一些了解,如果你需要搭建一台邮件服务器的话,上面几个MTA是很好的选择。
Linux下6种优秀的邮件传输代理的更多相关文章
- Linux中最受欢迎的邮件传输代理(MTA)
MTA(Mail transfer Agent) -对于服务器管理员来说,邮件传输代理是最为重要的工具.MTA的主要工作就是将电子邮件从一台主机发送到另一台主机.MTA使用SMTP(简单邮件传输协议) ...
- Linux下9种优秀的代码比对工具推荐
大家好,我是良许. 在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性.在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linu ...
- Linux 下8种优秀的屏幕录制机
导读 屏幕录制机已经成为常见的和良好的实践来记录一个重要桌面会话,例如,你想玩一个难度较大的游戏,并且向记录是如何完成的,或者你打算创建一个视频教程,入门文章或指南,或任何其他活动和记录你的桌面会话, ...
- Linux下几种文件传输命令 sz rz sftp scp
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- [原创] Linux下几种文件传输命令 sz rz sftp scp介绍
Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...
- Linux下几种文件传输命令
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- Linux 下三种提高工作效率的文件处理技巧
Linux 下三种提高工作效率的文件处理技巧 在 Linux 下工作,打交道最多的就是文件了,毕竟 Linux 下工作一切皆文件嘛.Linux 也为大家提供了多种用于处理文件的命令,合理使用这些命令可 ...
- Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确
Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确 目录在/etc/ngnix/conf.d下找出nginx配置文件路径和测试配置文件是否正确# /usr/sbin ...
- Linux下几种常见压缩方式测试对比
目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比
随机推荐
- JavaScript学习笔记——流程控制
javascript流程控制流程:就是程序代码的执行顺序.流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行. 一.顺序结构 按照书写顺序来执行,是程序中最基本的流程结构. 二.选择结构(分 ...
- CodeForces 689B Mike and Shortcuts (BFS or 最短路)
题目链接:http://codeforces.com/problemset/problem/689/B 题目大意: 留坑 明天中秋~
- Python + OpenCV2 系列:2 - 图片操作
这些相当于我的学习笔记,所以并没有很强的结构性和很全的介绍,请见谅. 1 读取.写入图像 下面是一个简短的载入图像.打印尺寸.转换格式及保存图像为.png的例子: # -*- coding: utf- ...
- Nginx使用webbench进行压力测试
在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的 ...
- osharp3 操作日志之数据日志 控制增强
osharp3 原来的数据日志,有配置文件中有这总开关,DataLoggingEnabled,原来的程序是,这个总开关关了,就无法记录数据日志了,,如果开了,,他不管记录不记录数据日志,系统都会存数据 ...
- Hibernate.lock()方法中各种锁的区别
悲观锁 它指的是对数据被外界修改持保守态度.假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实 ...
- System.out.println与System.err.println的区别(输出顺序!!!)
System.out.println与System.err.println的区别(输出顺序!!!) 分类:java (208) (0) System.out.println与System.err.p ...
- python 默认全局变量
python 内置默认全局变量print (vars()) __doc__ #py文件头部的注释 '''我是一个注释例子''' print (vars()) __file__ #当前文件路劲__pac ...
- 一些总结application和事务
如果需要添加一个全局变量的话 放到application中,但是这个变量中的值要修改的话,必须重新设置application里的值,要不就得重启服务器. String SiteName = (Str ...
- Java WebService入门实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描述 ...