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

最好的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的外在属性,但它有一个完全不同内部操作。此外,它的优势在于方便配置和安全机制的功能性模块,并具有以下主要特点:

  1. 垃圾邮件控制
  2. 支持多种协议Supports multiple protocols
  3. 支持数据库
  4. 支持Mailbox
  5. 支持地址操作,更多功能参考官方文档

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提供了很大的灵活性,用于网络上的邮件路由,同时包括良好的机制和接受邮件监控的设置。

其显着特点包括但不限于:

  1. 不支持POP和IMAP 协议
  2. 支持的协议,如RFC2821 SMTP和RFC2033 LMTP电子邮件传输
  3. 配置其中包括访问控制列表,内容扫描,加密,路由控制
  4. 优秀的文档
  5. 它具有实用程序,如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包。

它很小但是功能丰富,一些特性包括:

  1. 运行在多种类Unix操作系统之上,如FreeBSD, Solaris, Mac OSX plus 等更多
  2. 安装简单快捷
  3. 自动配置每个主机
  4. 地址,文件和程序之间的分隔明确
  5. 全面支持地址组
  6. 让每个用户管理自己的邮件列表
  7. 支持一个简单的方法来建立邮件列表
  8. 支持VERPs
  9. 支持自动防止邮件列表的循环
  10. 支持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操作系统,小而强大的电子邮件客户端。

作为一个基于文本的电子邮件客户端,它有一些令人振奋的功能,显著特点包括:

  1. 邮件主题
  2. 支持IMAP和POP3协议
  3. 支持多个邮箱格式,如MBOX,MH,Maildir,MMDF
  4. 支持传送状态
  5. 多个邮件标记
  6. 支持PGP/MIME (RFC2015)
  7. 各种功能以支持邮件清单,其中包括列表回复
  8. 撰写期间邮件头的完全控制
  9. 安装容易
  10. 活跃的社区开发

官方网站: 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(自行翻墙)

官方网址:https://www.washington.edu/alpine/

总结

文中简要的介绍了邮件是如何从邮件客户端,通过网络传到邮件服务器上,并通过邮件路由发送到指定客户端,更重要的是对MTA的工作方式有了一些了解,如果你需要搭建一台邮件服务器的话,上面几个MTA是很好的选择。

Linux下6种优秀的邮件传输代理的更多相关文章

  1. Linux中最受欢迎的邮件传输代理(MTA)

    MTA(Mail transfer Agent) -对于服务器管理员来说,邮件传输代理是最为重要的工具.MTA的主要工作就是将电子邮件从一台主机发送到另一台主机.MTA使用SMTP(简单邮件传输协议) ...

  2. Linux下9种优秀的代码比对工具推荐

    大家好,我是良许. 在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性.在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linu ...

  3. Linux 下8种优秀的屏幕录制机

    导读 屏幕录制机已经成为常见的和良好的实践来记录一个重要桌面会话,例如,你想玩一个难度较大的游戏,并且向记录是如何完成的,或者你打算创建一个视频教程,入门文章或指南,或任何其他活动和记录你的桌面会话, ...

  4. Linux下几种文件传输命令 sz rz sftp scp

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  5. [原创] Linux下几种文件传输命令 sz rz sftp scp介绍

    Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...

  6. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  7. Linux 下三种提高工作效率的文件处理技巧

    Linux 下三种提高工作效率的文件处理技巧 在 Linux 下工作,打交道最多的就是文件了,毕竟 Linux 下工作一切皆文件嘛.Linux 也为大家提供了多种用于处理文件的命令,合理使用这些命令可 ...

  8. Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确

    Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确 目录在/etc/ngnix/conf.d下找出nginx配置文件路径和测试配置文件是否正确# /usr/sbin ...

  9. Linux下几种常见压缩方式测试对比

    目录 Linux下几种常见压缩方式测试对比 参考 简介 测试 总结 Linux下几种常见压缩方式测试对比

随机推荐

  1. 简单说说Tk和Tcl

    开园第一个博客,简单说说Tk和Tcl. 我接触Tk和Tcl是在学习Python Tkinter时候,创建Tk对象,下面言归正传: Tcl:工具命令语言,英文全称为Tool Command Langua ...

  2. 条件运算符(?:)和 $""替代string.Format()

    1. 条件运算符(?:)根据Boolean表达式的值返回两个值之一.表达式如下: condition ? first_expression : second_expression 2. $" ...

  3. IIS------配置.Net 4.0

    转载: http://blog.csdn.net/mazhaojuan/article/details/7660657

  4. php 多条数据更新

    mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 1 UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_va ...

  5. python版本升级及pip部署方法

    Python版本升级 CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本.由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装. 1.下载Pyt ...

  6. Java并发编程核心方法与框架-Fork-Join分治编程(一)

    在JDK1.7版本中提供了Fork-Join并行执行任务框架,它的主要作用是把大任务分割成若干个小任务,再对每个小任务得到的结果进行汇总,这种开发方法也叫做分治编程,可以极大地利用CPU资源,提高任务 ...

  7. aop测试jdk代理机制

    //测试jdk代理机制 @Test public void testProxy(){ final UsbDisk usbDisk = new UsbDisk(); //类加载器,接口,匿名内部类 // ...

  8. 使用BeanNameAutoProxyCreator实现spring的自动代理

    提到代理,我们可以使用ProxyBeanFactory,并配置proxyInterfaces,target和interceptorNames实现,但如果需要代理的bean很多,无疑会对spring配置 ...

  9. js jquery中 的数据类型

    任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,ph ...

  10. Linux查看系统信息的一些命令及查看已安装软件包的命令

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...