CentOS 7下Postfix邮件服务器搭建

该文详细介绍了如何在Linux服务器上搭建DNS服务器、postfix邮件服务器,包括普通和认证的邮件收发、squirrelmail的配置,以及邮件群发、发送容量限制和用户邮箱磁盘配额的设置,旨在实现完整的邮件系统功能。

1.实验环境

硬件环境:
Linux服务器一台,IP地址:192.168.80.10;
WIN7客户端一台,拥有OUTLOOK2013,测试用,与服务器在同一局域网内。

2.实验内容

一:搭建DNS服务器

二:搭建postfix服务器及普通发信

三:普通收信

四:认证收信

五:squirrelmail收发邮件(小松鼠邮件的安装与配置)

六:邮件群发功能配置

七:邮件发送容量大小配置

八:通过配置用户磁盘配额实现限制用户邮箱空间

准备工作:

root@localhost ~]# systemctl stop firewalld //关闭防火墙
[root@localhost ~]# setenforce 0 //关闭selinux

第一部分:搭建DNS服务器

[root@localhost ~]# yum install bind -y //安装DNS服务
------------以下编辑主配置文件--------------
[root@localhost ~]# vi /etc/named.conf
修改如下内容:

保存退出
[root@localhost ~]# vi /etc/named.rfc1912.zones

保存退出
[root@localhost named]# vi aa.com.zone //编辑正向区域数据配置文件

//创建反向区域数据配置文件
[root@localhost named]# cp -p named.localhost aa.com.local
[root@localhost named]# vi aa.com.local //编辑反向区域数据配置文件

保存退出

第二部分:搭建postfix并配置基本发信功能

[root@localhost ~]# postconf –a //验证是否支持cyrus dovecot功能

(若postfix已安装好,则会支持这两个功能,若不支持,表示postfix未安装好;CentOS 7开始默认系统自带postfix。)

[root@localhost ~]# systemctl start postfix 启动服务

------------编辑主配置文件--------------
[root@localhost ~]# vi /etc/postfix/main.cf

 

root@localhost ~]# postfix check //检查语法错误(与named-check用法一样)
[root@localhost ~]# systemctl restart postfix //重启服务
[root@localhost ~]# postconf –n //查看postfix的非默认并已生效配置
-------------增加邮件测试帐号--------------
[root@localhost ~]# groupadd mailusers //创建组给测试帐号
[root@localhost ~]# useradd -g mailusers -s /sbin/nologin jack
//创建jack帐户只属于mailusers组并不能登录系统,用于测试邮件
[root@localhost ~]# passwd jack //创建jack密码
[root@localhost ~]# useradd -g mailusers -s /sbin/nologin tom
[root@localhost ~]# passwd tom
--------------连接服务器的25端口进行简单发信测试-----------
[root@localhost ~]# telnet mail.aa.com 25
//连接成功,开始写信
helo mail.aa.com //声明本机的主机
mail  from:jack@aa.com //声明发件人地址
rcpt  to:tom@aa.com //声明收件人地址
data //写正文
i am jack!!
. //正文结束标记
quit // 退出
如图所示:

第三部分:收信验证

[root@localhost ~]# cat /home/tom/Maildir/new/1515968168.Vfd00I306d0f0M475089.localhost.localdomain
成功显示:

方法二:搭建dovecot提供收信服务

 

----------------启动服务--------------
[root@localhost ~]# systemctl start dovecot
[root@localhost ~]# netstat -anpt | grep dovecot
//110,143端口需要监听
---------------收信验证---------------
[root@localhost ~]# telnet mail.aa.com 110
user tom //收件人登录
pass 123 //邮箱密码
list //列表查看邮件
retr 1 //读取编号为1的邮件
quit //退出邮箱
如图所示:

//验证成功
方法三:用win7客户端outlook2013收信验证
打开

4:发信认证配置

编辑认证配置文件
---------安装cyrus-sasl软件-------------
[root@localhost ~]# yum install -y cyrus-sasl* //注意,此处加上“*”,包含安装该软件所包含插件
----------编辑配置文件---------------
[root@localhost ~]# vi /etc/sasl2/smtpd.conf

保存退出
-------------启动服务--------------
[root@localhost ~]# systemctl start saslauthd
[root@localhost ~]# systemctl enable saslauthd
编辑postfix主配置文件
[root@localhost ~]# vi /etc/postfix/main.cf
添加以下内容:
smtpd_sasl_auth_enable = yes //开启认证
smtpd_sasl_security_options = noanonymous //不允许匿名发信
mynetworks = 127.0.0.0/8 //允许的网段,如果增加本机所在网段就会出现允许不验证也能向外域发信
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination //允许本地域以及认证成功的发信,拒绝认证失败的发信

4.将邮件用户名和密码生成密文

#下载需要的命令
[root@master ~]# yum install -y perl-String-Format.noarch
#账户加密
[root@master ~]# printf "jack" | openssl base64
amFjaw==
[root@master ~]# printf "000000" | openssl base64
MDAwMDAw
[root@master ~]# telnet mail.aa.com 25
Trying 192.168.200.10..
Connected to mail.aa.com.
Escape character is '^]'.
220 mail.aa.com ESMTP Postfix
ehlo mail.aa.com
250-mail.aa.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login    //认证登录
334 VXNlcm5hbWU6
amFjaw==      //密文用户名
334 UGFzc3dvcmQ6
MDAwMDAw      //密文密码
235 2.7.0 Authentication successful
mail from:jack@aa.com
250 2.1.0 Ok
rcpt to:aa@163.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
this is test
.
250 2.0.0 Ok: queued as 04F27F31FF
quit
221 2.0.0 Bye
Connection closed by foreign host.


五、配置squirrelmail收发邮件(小松鼠网页浏览邮箱)

1.搭建LAMP环境

使用脚本一键部署

搭建小松鼠网页邮箱

SquirrelMail - Webmail for Nuts!


[root@master src]# ll
total 40
-rw-r--r-- 1 root root 19407 May 19 01:58 all_locales-1.4.18-20090526.tar.gz
-rw-r--r-- 1 root root 19407 May 19 01:54 squirrelmail-webmail-1.4.22.tar.gz
10.解压
解压安装包,生成一个安装的文件
[root@master src]# tar xzvf squirrelmail-webmail-1.4.22.gz 
#解压汉化包到安装文件中
[root@master src]# tar xzvf all_locales-1.4.18-20090526.gz -C squirrelmail-webmail-1.4.22
#复制该文件到http默认的目录下
[root@master src]# cp -rv squirrelmail-webmail-1.4.22 /var/www/html/mail

11.创建小松鼠网页默认的配置文件

[root@master mail]# mkdir attach
[root@master mail]# chown -R apache:apache attach/ data/
[root@master mail]# cd config
[root@master config]# cp config_default.php config.php
[root@master config]# ls
config_default.php  config_local.php  config.php  conf.pl  index.php
12.编辑配置文件

12.编辑配置文件
 

邮件群发配置

1.设置邮件组

[root@master config]# vim /etc/aliases


#生成新的hash数据库文件
[root@master config]# newaliases

添加lucy邮件测试用户

发送邮件大小容量的限制

1.编辑配置文件
 

[root@master config]# vim /etc/postfix/main.cf 
最后添加

八.通过配置用户磁盘配额实现限制用户邮箱空间
开启磁盘配额

#查看磁盘配额开启状态
[root@master config]# mount 

#卸载home目录的挂载

[root@master config]# unmount /home

#重新挂载

[root@localhost ~]# mount –a

#查看挂载状态

[root@localhost ~]# mount

确认home目录磁盘配额已开启
[root@localhost ~]# quotaon -p /home/

由于sda2分区格式为xfs,默认自动开启磁盘配额功能
为jack用户配置磁盘配额限制

[root@localhost ~]# edquota -u jack

配置jack用户邮箱大小为最大10M
测试
 
root@master home]# vim /etc/postfix/main.cf 

#重启服务
[root@localhost ~]# systemctl restart postfix

发出第三封邮件之后,邮箱提示,硬盘配额溢出
#进入jack用户存放邮件的目录查看接收邮件的大小
[root@localhost ~]# cd /home/jack/Maildir/cur/

系统默认接收到两封邮件后容量已达8.1M,无法再接收第三封3M的邮件,磁盘配额生效,测试成功

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值