Linux下如何搭建自己的邮件服务器-Postfix搭建笔记

2017年02月11日 439点热度 0人点赞 0条评论

postfix

[title]Postfix服务概述:[/title]postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。

[title]其它邮件服务器:[/title]

Sendmail、Qmail、Postfix

[title]Sendmail的不足[/title]

第一个重要的缺点是它的安全性较差,这是因为当其作者Eric Allman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。

由于邮件系统需要处理的是外部发送来的各种各样的信息,甚至包含一些恶意数据,然而sendmail在大多数系统中都是以root身份运行,一旦出现问题,就会对系统安全造成严重影响。在这种情况下,要防止出现安全问题,仅仅依赖程序本身是不可取的,应该从系统结构出发,使程序拥有的特殊权限限制到最小。

第二个,使用Sendmail还会遇到的另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。

[title]Qmail可以替代Sendmail[/title]

Qmail,为了解决sendmail的安全问题,整个系统结构需要重新设计。基本的原则是将系统划分为不同的模块,有负责接收外部邮件的,有管理缓冲目录中待发送的邮件队列的,有将邮件发送到远程服务器或本地用户的。Qmail就是按照这个原则进行的设计,它由多个不同功能的小程序组成,只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单一些,因此就可以达到较高的安全性。

另一种替换软件:Postfix 可以替代sendmail

Postfix同样也是采用了模块化的方式,但与Qmail不同的是,Postfix使用了一个主控进程进行监控。Postfix在很多方面都考虑到了安全问题,它甚至不向root分发电子邮件,以避免以root身份读写文件或启动外部程序。考虑到它的作者Wietse Venema曾编写了著名的安全软件TcpWrapper,Postfix的安全性是非常值得信赖的。

Postfix的性能也非常不错,甚至在Qmail作者自己进行的测试中也表明,Postfix的性能和Qmail基本相当。postfix在性能上大约比sendmail快三倍。

官方网站:www.postfix.org

一个完整的邮件服务器由以下内容构成:

postfix(作为发送邮件服务器)+ dovecot(作为接收邮件服务器)+ mysql(作为数据库)

模式: C/S 模式或 B/S

端口:25

可以通过foxmail或outlook客户端。也可以通过网页来收邮件。

[title]SMTP协议[/title]

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
作用:此协议主要用来发送或中转邮件。SMTP协议属于TCP/IP协议簇,

邮件服务中:

发送: 指的是同属于某一邮件服务器(例如QQ域)两人相互发送邮件。

中转: 使用本域邮箱给外域邮箱发送邮件(例如QQ邮箱向163邮箱发邮件)。

25端口:LMTP(Local Mail Transfer Protocol)[1],是本地邮件传输协议,与SMTP类似,但不支持邮件队列(queue),主要应用于非广域网的邮件网关。
alt
[title]110:POP3协议[/title]

POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。
还有POP2协议。
alt
[title]143:IMAP[/title]

IMAP: (Internet Mail Access Protocol Internet邮件访问协议) 。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端(例如Outlook)可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。

当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。

[title]两者之前的区别:[/title]
alt

从上对比图中可看出IMAP整体上为用户带来更为便捷和可靠的体验。

POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。

而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。

[title]邮件功能组件[/title]

MUA:邮件用户代理(Mail User Agent) 收邮件

MTA:邮件传输代理(Mail Transfer Agent) 发邮件

MDA:邮件递送代理(Mail Delivery Agent) 邮件投递

注意:rhel5默认采用sendmail做为MTA,rhel6则采用postfix

[title]安装postfix邮件服务器[/title]

[root@opsexm ~]# rpm -ivh /mnt/Packages/postfix-2.6.6-2.2.el6_1.x86_64.rpm
# postfix服务的主程序包,服务器端必须安装该软件包。
[root@opsexm ~]# rpm -ivh /mnt/Packages/dovecot-2.0.9-2.el6_1.1.x86_64.rpm

[title]接收邮件软件包[/title]
安装在服务端用于测试收邮件。 安装客端用于收邮件。

[title]postfix配置文件位置:[/title]


[root@opsexm postfix]# vim /etc/postfix/main.cf

[title]启动服务[/title]

[root@opsexm postfix]# service postfix restart
[root@xue63 ~]# chkconfig postfix on
[root@opsexm ~]# netstat -antup | grep 25
[root@opsexm postfix]# netstat -antup | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 11470/master
tcp 0 0 192.168.200.200:22 192.168.200.100:62563 ESTABLISHED 10521/sshd
tcp 0 0 ::1:25 :::* LISTEN 11470/master

[title]此服务的使用方法[/title]

[title]Linux发送邮件:[/title]

mail -s 'Postfix Send Test!' opsmail@opslab.cn < /etc/hosts

[title]接收邮件:[/title]使用mail命令

[title]windows通过浏览器访问或 foxmail[/title]

修改配置文件,举例

例1: 配置postfix邮件服务器,实现邮件发送功能

实现给邮箱:opsmail@opslab.cn 发送邮件。

修改主机名和对应关系

修改主机名和对应关系

重启服务

重启服务

测试:看能否给邮箱:opsmail@opslab.cn 发送邮件。

mail -s 'Postfix Send Test !' opsmail@opslab.cn < /etc/hosts

测试发送邮件

登录QQ邮箱查收邮件:注:收邮件时,会有一些延迟。

查看QQ邮箱

例2: 配置dovecot服务器,实现发邮件和接收邮件

修改dovecot主配置文件如下

修改dovecot主配置

设置/etc/dovecot/conf.d/10-mail.conf配置文件如下:

mail.conf配置文件

下面一行,不需要动。默认就是开启的:

mbox_write_locks = fcntl

重启服务:

重启服务

为了使新创建的用户可以自动创建邮件目录,可以修改

/etc/skel/.bash_profile

文件如下

自动创建邮件目录

测试:

创建 用户 :

创建 用户

测试发邮件:

mail发邮件三种用法:

mail发邮件三种用法

通过mail命令查看邮件:

mail命令查看邮件

说明:

Postfix的配置

Kratos

保持饥渴的专注,追求最佳的品质

文章评论

使用新浪微博登陆