2-12-部署Postfix邮件服务器实现邮件的收发功能

 

试验环境:

服务端:xuegod63.cn       IP:192.168.1.63

部署Postfix+Dovecot

 

Postfix:提供邮件发送功能,使用的协议:SMTP,端口:25

Dovecot:提供邮件接收功能,使用的协议:POP3、IMAP,端口:110,143

 

邮件通信协议

1、SMTP(SimpleMail Transfer Protocol,简单邮件传输协议):主要用于发送和传输邮件。SMTP协议使用的TCP端口为25。对于支持发信认证的邮件服务器,将会采用扩展的SMTP协议(Extended SMTP)。

 

2、POP(PostOffice Protocol,邮局协议):主要用于从邮件服务器中收取邮件。目前POP协议的最新版本是POP3。POP3协议使用的TCP端口号为110。

 

3、IMAP(InternetMessage Access Protocol,互联网消息访问协议):同样用于收取邮件。目前IMAP协议的最新版本是IMAP4。与POP3相比较,IMAP4协议提供了更为灵活和强大的邮件收取,邮件管理功能。IMAP4协议使用的TCP端口号为143。

 

使用比较多的商业邮件系统:

1、ExchangeWindows系统中最著名的邮件服务器软件。也是微软公司的重量级产品,可以和活动目录等应用很好的结合在一起,当使用Windows服务器平台构建电子邮件系统时,Exchange自然就成为首选。

2、Notes/Domino:由IBM公司出品的商业电子邮件和办公写作软件产品,其功能丰富,强大,集成性较好且提供跨平台的支持,给用户提供了广泛的选择。多应用用于一些高校、政府部门、银行等较大型的企业单位。

开源邮件系统:

Sendmail:对于运行在UNIX/Linux环境中的邮件服务器,Sendmail无疑是资格最老的,目前仍然有许多企业的电子邮件系统是使用Sendmail进行搭建的。Sendmail运行的稳定性较好,但安全性欠佳。

 

Qmail:另一款运行在UNIX/Linux环境中的邮件服务器,比Sendmail具有更好的执行效率,且配置、管理更加方便,很多商用电子邮件系统都采用Qmail作为服务器。

 

Postfix:同样运行在UNIX/Linux环境中的邮件服务器,Postfix由Wietse负责开发,其目的是为Sendmail提供一个更好的替代产品。Postfix在投递效率、稳定性、服务器性能及安全性方面都有相当出色的表现。

 

 

 

实战1:部署一台邮件服务器,提供用户发送和接受邮件的功能

[root@xuegod63 ~]#yum -y install postfix     #安装postfix,默认是已经安装过的。

[root@xuegod63 ~]#service postfix restart    #重启服务

[root@xuegod63 ~]#chkconfig postfix on     #设置开机自动启动

Linux6.5部署Postfix邮件服务器_邮件

 

配置主配文件:

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

修改以下内容:

inet_interfaces= 192.168.1.63                   //监听服务的IP地址,默认为all

myhostname= xuegod63.cn                    //邮件服务器的主机名

mydomain= xuegod63.cn                      //邮件域

myorigin= $mydomain                        //外发邮件时发件人地址中的邮件域

mydestination= $myhostname, localhost.$mydomain, localhost, $mydomain

//允许投递到本地的目标邮件域

home_mailbox= Maildir/                        //设置邮件的存储位置和格式

保存文件。

[root@xuegod63~]# service postfix restart

添加测试邮箱帐号密码:

Linux6.5部署Postfix邮件服务器_Postfix_02

 

telnet功能测试smtp发送邮件:

先安装telnet,使用aabb发送邮件。

[root@xuegod63 ~]#yum -y install telnet

[root@xuegod63 ~]#telnet xuegod63.cn 25

Trying192.168.1.63...

Connectedto xuegod63.cn.

Escapecharacter is '^]'.

220xuegod63.cn ESMTP Postfix

heloxuegod63.cn                           //宣告服务端地址

250xuegod63.cn

mailfrom:rm@xuegod63.cn                 //告知发件人地址

2502.1.0 Ok

rcptto:swk@xuegod63.cn                    //告知收件人地址

2502.1.5 Ok

data                                        //告知要发送邮件数据

354End data with <CR><LF>.<CR><LF>

subject:TestMail!                            //指定邮件主题

Dearswk:                                   //编写邮件正文

I LOVE YOU!

.                                            //单独的点号表示正文结束

2502.0.0 Ok: queued as A6B0B413D

quit                                         //断开连接并退出

2212.0.0 Bye

Connectionclosed by foreign host.

 

Linux6.5部署Postfix邮件服务器_邮件_03

bb用户的宿主目录下查看收到的邮件

[root@xuegod63 ~]#ls /home/bb/Maildir/new/

Linux6.5部署Postfix邮件服务器_Postfix_04

#####################################################################

 安装Dovecot,配置收信服务。

[root@xuegod63 ~]#yum -y install dovecot

修改配置文件

[root@xuegod63 ~]#vim /etc/dovecot/dovecot.conf

结尾添加内容:

!includeconf.d/10-auth.conf                                  //只使用系统用户认证

ssl= no                                                     //禁用ssl机制

disable_plaintext_auth= no                                   //允许明文验证

mail_location= maildir:~/Maildir                             //设置邮件格式及位置

 

启动dovecot服务,并确认监听状态

[root@xuegod63~]# service dovecot restart

[root@xuegod63~]# chkconfig dovecot on

[root@xuegod63~]# netstat -anptu | grep dovecot

Linux6.5部署Postfix邮件服务器_邮件_05

POP3接收邮件测试:

[root@xuegod63~]# telnet xuegod63.cn 110

Linux6.5部署Postfix邮件服务器_邮件_06

使用outlook测试

Linux6.5部署Postfix邮件服务器_服务器_07

Linux6.5部署Postfix邮件服务器_Postfix_08

Linux6.5部署Postfix邮件服务器_服务器_09

Linux6.5部署Postfix邮件服务器_邮件_10

Linux6.5部署Postfix邮件服务器_服务器_11

测试给BB发送邮件。

Linux6.5部署Postfix邮件服务器_邮件_12

 

 

 

在另一端登录BB帐号:

Linux6.5部署Postfix邮件服务器_邮件_13

 

BB收到了测试邮件。

Linux6.5部署Postfix邮件服务器_Postfix_14

 

实战2。部署一台需要认证的邮件服务器,可转发到外域。

安装之前可以先确认一下时候能支持认证功能

[root@xuegod63~]# postconf -a

cyrus

dovecot

能看到以上内容说明支持认证功能

如果不支持,可以手动安装软件包

[root@xuegod63~]# yum -y install cyrus-sasl*

设置Cyrus sasl函数库,并启动saslauthd服务

[root@xuegod63~]# vim /etc/sasl2/smtpd.conf

pwcheck_method:saslauthd

mech_list:plain login

看到显示有着两行内容保存退出。

[root@xuegod63~]# service saslauthd start

正在启动 saslauthd:                                       [确定]

[root@xuegod63~]# chkconfig saslauthd on

 

 

 

修改main.cf配置,添加SMTP认证配置,并重启服务

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

行尾添加如下内容。

readme_directory =/usr/share/doc/postfix-2.6.6/README_FILES

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options =noanonymous

mynetworks = 127.0.0.1

smtpd_recipient_restrictions =permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

Linux6.5部署Postfix邮件服务器_邮件_15

[root@xuegod63 ~]# service postfix restart

 

由于试验环境问题,网络也有可能出现问题,

此次测试域外发信,未成功。