导读 在互联网上,邮件客户端向邮件服务器发送邮件然后将消息路由到正确的目的地(其他客户)其中邮件服务器使用一个网络应用程序称为邮件传输代理(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. geoip scala api

    #!/bin/bash /home/hadoop/spark-1.6.2/bin/spark-shell --master spark://hbase11:7077 --executor-memory ...

  2. 根据wsdl文件生成webservice 的.cs文件 及 生成dll C#调用

               Visual Studio 2013->Visual Studio Tools->VS2013 开发人员命令提示 命令行输入 wsdl E:\WS.wsdl /out ...

  3. Dynamic Font Programming

    http://www.braynzarsoft.net/Articles/index.php?p=VA&article=Easy-Font-Rendering-in-DirectX-11 ht ...

  4. cmake安装MySQL

    发现一个网址整理的挺好,请各位参考: http://www.chenyudong.com/archives/building-mysql-5-6-from-source.html#i 也可以参考我的另 ...

  5. Nginx配置优化的几个参数

    worker_processes 8 一般CPU(i/o)密集型配置为核数相同,网络(i/o)密集型配置为核数倍数(我配置为2倍) worker_cpu_affinity(这个没用过) 仅适用于lin ...

  6. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

  7. git alias和gitconfig配置

    [alias] st = status -sb co = checkout br = branch mg = merge ci = commit ds = diff --staged dt = dif ...

  8. Mysql InnoDB行锁实现方式(转)

    Mysql InnoDB行锁实现方式 InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的.InnoDB这种行锁实现特点 ...

  9. 通过CSS实现的html背景色渐变

    实现代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  10. Redis for .NET 系列之实现分页需求

    代码笔记: var tableName = "Table1"; redisClient.AddItemToSortedSet(tableName, ); redisClient.A ...