CentOS 7下搭建Postfix邮件服务器的实用步骤
第一章实验环境
- 硬件环境:
Linux服务器一台,IP地址:192.168.80.10;
一台装有OUTLOOK2013的WIN7客户端,用于测试,与服务器在同一局域网内。 - Linux 系统环境如下图:

第二章实验内容
第一:DNS 服务器搭建 ❝ 修复 服务器 投稿 第三:普通录取通知书
四:接收认证
五:Squirrelmail 收发邮件(创建一个用于收发邮件的网站)
六:配置群发邮件功能- 配置群发邮件功能: 八:配置用户磁盘配额实现用户邮箱空间限制
第三章实验步骤
准备工作:
[root@localhost ~]# systemctl stopfirewalld关闭firewalld@//关闭防火墙[
localhost~] ] # setenforce 0 // 关闭selinux
第 1 部分:创建 DNS 服务器
[root@localhost ~]# yum install bind -y //安装 DNS 服务- --- -----编辑下面主要配置 File--------------
[root@localhost ~]# vi /etc/named.conf
编辑以下内容:

保存退出
[root@localhost ~]#named-checkconf //检查配置错误
注意:如果错误信息比较详细,请根据提示编辑文件;如果没有提示,则没有语法错误。
------------编辑下面的区域配置文件--------------------
[root@localhost ~] #vi/etc/named.rfc1912.zones
为文件的末尾添加以下内容:
保存和退出
名称con@flochcalhost〜/root [root [root]语法错误
--- - ------------ 编辑区域配置数据文件如下------------------
[ root@localhost ~ ]# cd /var/named
[root@localhost Named]# cp -p Named.localhost aa.com.zone
//创建前向区域配置数据文件(注意,因为我正在复制另一个样式文件,复制文件时必须附加“-P”,即复制时文件权限不变)
[root@localhost Named]# vi aa.com.zone //编辑正向区域数据配置文件

(这里注意语法格式,不要省略“.”)
保存退出
//创建反向区域配置文件,命名为reverse zone ⓙro@lo ]# cp -p name .localhost aa.com。 local
[root@localhost name]# vi aa.com.local //编辑反向区域配置数据文件

保存退出 Named #root-con Named [root-con/ localcheck ] 检查语法错误
----------------启动服务,验证--------------
[root@localhost name]# systemctl start name //启动DNS服务
[root@localhost Named]# systemctl enable Named //设置为在start时启动
[root@localhost Named]# vi /etc/resolv.conf //设置服务器域名名称 ♝
保存并退出
[root@localhost name]# nslookup mail.aa.com // 分析验证
成功如下图:
![]()
第 2 部分:构建 postfix 并配置基本发送功能 ♝not cal ~] # postconf –a //检查是否支持cyrus dovecot功能
![]()
(如果安装了postfix,就会支持这两个功能,如果没有,说明没有安装postfix;CentOS 7以postfix启动默认)
[root@localhost ~]# systemctl start postfix 启动服务
------------编辑主配置文件--------------
[root@localhost ~]# vi /etc/postfix/main.cf
编辑以下内容:
//服务器主机名 //邮件域名?
//存放邮件的目录
保存退出
[root@localhost ~]# check postfix //检查语法错误(用法与named相同roⓙlo@host) lo@host ]# systemctl restart postfix //重启服务
[root@localhost ~]# postconf –n //显示非默认且有效的postfix配置
------------ -添加邮件测试账号-- ------------
[root@localhost ~]# groupadd mailusers //为测试帐号创建一个组
[root@localhost ~]# useradd -g mailusers - s / sbin/ nologin jack
//创建仅属于mailusers组的jack帐户,无法登录系统。用于测试邮件
[root@localhost ~]# passwd jack //创建密码 jack
[root@localhost ~]# userradd -g mailusers -s /sbin/nologin tom
ot @localhost ~ ] # passwd tom
--------------连接到服务器25端口并做一个简单的发送测试 -----------
[root@ localhost ~]# telnet mail.aa.com 25
//连接成功,开始输入
hello mail.aa.com //声明本机的主机
mail from:jack@aa.com //声明发件人地址
rcpt to:tom@aa.com //声明收件人地址♿ ⓓ data // 写入文字
我是jack!!
. //标记文字结束
end //结束
如图:
♝第三部分:验证催收信 将应用于用户是否有root认证 1.你收到测试电子邮件
[root@localhost ~]# cat /home/tom/Maildir/new/1515968168.Vfd00I306d0f0M475089.localhost.localdomainⓚⓚ ‶‶ⓚ![]()
方法二:设置dovecot提供邮件接收服务
---------------安装dovecot软件------------- --
[root@ localhost ~]# yum install -y dovecot
--------------编辑配置文件------------ --
[root@ localhost ~]# vi /etc/dovecot/dovecot.conf
编辑以下三行:
![]()
![]()
![]()
添加以下三行:❙‶❙ 添加以下三行: ![]()
![]()
保存退出
----------------开始服务--------------
[ root @localhost ~]# systemctl 启动鸽子屋
[root@localhost ~]# netstat -anpt | grep dovecot
//需要监听110和143端口
![]()
--------- ------- 回执验证--------- - --
[root@localhost ~]# telnet mail.aa.com 110
user tom //接受人工登录
pass 123 //显示邮件列表
retr 1 //读取邮件号码 1 文 退出 // 留下邮箱
如图:
![]()
![]()
// 客户端认证成功 方法3 23 Outlook认证:使用Win7认证 打开
![]()
打开左上角“文件”![]()
点击帐户设置![]()
打开”,❙![]()
手动设置,下一步 ![]()
选择 POP 或 IMAP ,下一步
![]()
配置相关信息,下一步
![]()
♿⓶ ![]()
完成
左键点击“所有文件夹”,Tom账户已登录
![]()
点击“收件箱”,Tom 成功收到邮件
![]()
//验证成功
接收缓慢,可以点击右上角接收
![]()
部分4:提交认证配置
- 编辑认证配置文件 -l-s------------- ------ ------
[root@localhost ~ ] # yum install -y cyrus-sasl //注意这里添加“”包括安装软件中包含的插件
----------编辑配置文件--- - -----------
[root@localhost ~]# vi /etc/sasl2/ smtpd.conf
//认证方式配置
保存退出
[root@localhost ~ vi /etcslath/sys
//本地用户认证
保存退出
- ------------启动服务----- --------
[root@localhost ~]# systemctl启用saslauthd
[root@localhost ~]# systemctl启用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 //允许本域和认证成功的信件,拒绝认证失败的信件
[root@localhost about .com is not authentication d,所以访问被拒绝,发送失败
[root@localhost about.com //注意不是hello
auth login //认证登录❙p username /Fjaw=C MTIz // 密文密码
mail from:jack@aa.com
rcpt to:aa@163 .com
data
这是一个测试这是一个测试 quit
//发送成功
更改帐户配置
单击“其他设置”♝,‿发送√并使用与接收邮件服务器相同的服务器。相同设置
下一步,成功
创建新电子邮件
❙
//检查jack是否收到邮件
将jack添加到Outlook账号,和添加tom一样,别忘了勾选√
//认证成功
第五部分:配置squirrelmail收发邮件(小松鼠)浏览网页邮箱 - - -- ----------构建您的 LAMP 环境-------------
- 安装服务 httpd、mariadb、php
yum install -y \
httpd \ //Apache服务
mariadb-server mariadb \ //Mysql服务
php \ //PHP服务关联数据库 php /-my PHq php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \❙❙❙❀cphp php-xml
php-mhash - 编辑 Apache 主配置文件
[ root @localhost ~]# vi /etc/httpd/conf/httpd.conf
//域名⓻♷⓻ 编辑主页面PHP配置文件
[root@localhost ~] # vi /etc/php.ini

保存退出 - 启动服务cal http://启动系统/服务
[root@localhost ~ ]# systemctl enable httpd // 设置startup
[root@localhost ~]# systemctl start mariadb //启动mysql数据库服务 local #启用mysql服务 ~roct system ~l [root] mariadb //设置启动
[root@localhost ~] # netstat-anpt| grep 80 //检查httpd端口状态

[root@localhost ~]# netstat -anpt | grep 3306 //检查mysql端口状态

- 测试网站 http://192.168.80.10/

-

- ot

- 编辑mysql数据库
编辑mysql数据库 [ ~]# mysql_secure_installation
![]()
//输入
![]()
//创建数据库管理员密码,回车后输入密码两次(123)
![]()
![]()
![]()
//不允许管理员远程登录,选择否
![]()
//删除测试数据库
![]()
//重新加载测试文件配置 ![]()
![]()
[根@localhost ~] # vi /var/www/html/index.php
创建默认的php配置文件,添加以下内容:
![]()
保存退出
http://Website//192.168.80.10/
![]()
//测试成功
//进入数据库,创建授权账户 lo@s l -u koreň –p
输入数据库密码(123),回车进入,输入以下内容
//测试数据库是否正常工作
[root@icalhost/www ~ /html/index.php
删除其他内容,输入以下内容:
保存退出
刷新网站❀
成功
-- --------------建立你的小松鼠网络邮件--- ---- -------
http://www.squirRolmail.org/download.php
到网站下载压缩包到Linux服务器
安装包:
工作
root@localhost ~]# tar xzvf squirrelmail-webmail-1.4.22.tar.gz
//解压安装包并生成安装文件
[root@localhost ~]# tar xzvf all_locales-1.4.18-20090526.squirel.gz -C webmail - 1.4. 22
//将中文包解压成安装文件
[root@localhost ~]# cp -rv squirrelmail-webmail-1.4/22/mail/var/html //复制将此文件复制到默认的http目录
[root@localhost ~]# cd /var/www/html/mail/
[root@localhost mail]# chown -R apache:apache Attachment/ data/
[root@localhost mail]# config❙calhost #lo❙calhost config # cp config_default。 php config.php
[root@localhost config]# vi config.php
编辑以下内容: .commain;' //域名
$ imap_server_type = '鸽舍'; //服务类型
$data_dir = '/var/www/html/mail/data'; //数据目录
$attachment_dir = '/var/www/html/mail/attach/'; //附件目录
$squirrelmail_default_language = 'zh_CN'; //默认语言环境
$default_charset = 'zh_CN.UTF-8'; //默认字符编码
保存退出
//注意特殊字符,不要漏掉“$”和“;”
输入jack或tom账号密码登录
//邮件配置成功❝
邮件通讯成功
群 [root@ localhost ~]# vi /etc/aliases
添加以下内容:
![]()
//将 jack 和 tom 添加到学生组 ♝ ot@ localhost ~]# newaliases //生成新的数据库哈希文件
[root@localhost ~]# systemctl restart postfix /重启postfix服务
[root@localhost ~]# passwd lucy
//添加lucy的账户到outlook程序
//使用lucy的账号发送邮件
//续帐户和 Jack 帐户已成功接收。 ![]()
Tom 已成功收到邮件
![]()
// 验证成功
第 7 部分:发送电子邮件的大小限制
------- --- ---编辑配置文件---- -------
[root@localhost about [root@localhost ~]# systemctl restart postfix //重启postfix服务
---- --- -----用outlook验证- -------- -------------
//发送文件超过500万个
![]()
![]()
![]()
,认证成功
第八部分:通过配置使用用户的磁盘配额用于限制用户邮箱空间
----------启用磁盘配额------------
[root@localhost ~] # df –hT //显示邮件目录挂载信息
![]()
[root@localhost ~]# vi /etc/fstab
//编辑配置文件,实现加载内容时自动挂载 ♿❙ 如下:
? root@localhost ~]# connection –a //连接
[root@localhost ~]# connection //查看连接状态
![]()
//成功连接配额 # calo@ro ~root -p /home/
//确认主目录磁盘配额开启
![]()
//由于sda2分区的格式为xfs,所以默认自动开启磁盘配额功能 ---- - ----- ---为用户jack配置磁盘配额限制--------------
[root@localhost ~]# edquota -u jack
![]()
//配置邮件用户jack邮箱大小最大为1000万个
--------------测试,验证------------ - -
//发送邮件 取消帖子大小限制
[root@localhost ~]# vi /etc/postfix/main.cf
删除以下内容:![]()
删除以下内容content
[root@localhost ~]# systemctl restart postfix //重启服务
//发送邮件给jack
邮箱提示超出硬盘配额
[root@localhost ~]# cd /home/jack/Maildir/cur/
//进入jack保存邮件的目录进行显示已接收邮件大小
![]()
//收到两封邮件后系统默认容量达到710万封。无法接受第三封 3M 邮件。磁盘配额反映,测试成功! !
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网