CentOS7.9 搭建Email服务器(Postfix)

一、Postfix简介

  • 在邮件系统中担任MTA的角色,负责在服务器之间传递邮件,并收下其他系统寄到本地系统的邮件
  • Postfix实现了MTA的核心功能:邮件路由,邮件头重写,授权,内容过滤
  • 基于模块化的互操作的多进程体系结构设计,每个独立的进程称为组件,各个组件之间通过队列管理器交换邮件
  • postfix 的组件以半驻留方式运行
  • postfix的各个组件由一个常驻内存的主控守护进程(master)控制,master主导邮件的处理流程,是postfix其他组件的总管
  • 只有master以root身份运行的,各个组件以postfix用户身份运行

部分参数解释

inet_interfaces 指定Postfix监听的网络接口。all 表示所有网络接口
myhostname 指定运行Postfix服务的邮件主机名称(FQDN名)
mydomain 指定运行Postfix服务的邮件主机的域名
myorigin 指定由本台邮件主机寄出的每封邮件的邮件头中mail from的地址
mydestination 指定可接收邮件的主机名或域名,只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来
mynetworks 设置可转发(Relay)哪些IP网段的邮件
relay_domains 设置可转发(Relay)哪些网域的邮件

二、Postfix配置

1.环境准备

  • 编辑网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-ens33”
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e92f4a4d-a3c6-4cc7-a6a7-7adab1d2cc56
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.48.10
PREFIX=24
GATEWAY=192.168.48.2
DNS1=127.0.0.1  //优先使用本地DNS服务
DNS2=192.168.48.2  //递归查询,保证网络连接

2.配置DNS域名解析

$TTL 1D
@	IN SOA	@ root.immengxin.top. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	immengxin.top.
@	A	192.168.48.10
mail	A	192.168.48.10
@	MX	10 mail.immengxin.top.  //必须有一条mail的A记录

3.安装软件包

[root@immengxin ~]# yum install postfix  //用来发件
[root@immengxin ~]# yum install dovecot  //用来收件   
[root@immengxin ~]# yum install telnet*  //用来连接服务器

4.编辑主配置文件“/etc/postfix/main.cf”

# 第75行,主机名
myhostname = mail.immengxin.top
# 第83行,主域名
mydomain = immengxin.top
# 第99行取消注释,源
myorigin = $mydomain
# 第113行取消注释,你的网络接口,只保留这一个
inet_interfaces = all
# 第166行取消注释,目的
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# 第264行取消注释,允许的网络
mynetworks = 192.168.0.0/16, 127.0.0.0/8
# 第296行取消注释,中继域名
relay_domains = $mydestination
# 第425-426行取消注释
mail_spool_directory = /var/mail
mail_spool_directory = /var/spool/mail
  • 重启Postfix服务
[root@immengxin ~]# systemctl restart postfix

5.编辑配置文件“/etc/dovecot/dovecot.conf”

# 第24行取消注释,并修改
protocols = imap pop3
# 第30行取消注释,监听的地址
listen = 192.168.48.10
# 第33行取消注释
base_dir = /var/run/dovecot/
# 第48行取消注释,受信任的网络
login_trusted_networks = 192.168.0.0/16
# 保存退出,重启服务
[root@immengxin ~]# systemctl restart dovecot
  • 修改配置文件“/etc/dovecot/conf.d/10-auth.conf”
# 第10行取消注释
disable_plaintext_auth = no
# 第100行
auth_mechanisms = plain login
  • 修改配置文件“/etc/dovecot/conf.d/10-mail.conf”
# 第25行取消注释
  mail_location = mbox:~/mail:INBOX=/var/mail/%u
  • 修改配置文件“/etc/dovecot/conf.d/10-ssl.conf”
# 第8行
ssl = no

6.其他配置

  • 修改目录权限
[root@immengxin ~]# chmod 0600 /var/mail/* 
[root@immengxin ~]# chmod 0600 /var/spool/mail/*
[root@immengxin ~]# systemctl restart dovecot  //可先忽略,如果无法连接收信服务器,可执行
  • 添加组和用户
[root@immengxin ~]# groupadd mengxin
[root@immengxin ~]# useradd mx1 -g mengxin -s /sbin/nologin  //禁用登录功能
[root@immengxin ~]# useradd mx2 -g mengxin -s /sbin/nologin  //禁用登录功能
[root@immengxin ~]# passwd mx1
[root@immengxin ~]# passwd mx2
  • 修改防火墙配置
[root@immengxin ~]# setenforce 0  //关闭selinux
[root@immengxin ~]# iptables -F  //清空iptables规则
[root@immengxin ~]# firewall-cmd --permanent --add-service=dns  //允许dns服务
[root@immengxin ~]# firewall-cmd --permanent --add-port=25/tcp  //允许tcp端口25,发件
[root@immengxin ~]# firewall-cmd --permanent --add-port=110/tcp  //允许tcp端口110,收件
[root@immengxin ~]# firewall-cmd --reload  //重载防火墙

三、结果验证

  • 连接发信服务器,测试发邮件
[root@QinRui ~]# telnet mail.immengxin.top 25
Trying 192.168.48.10...
Connected to mail.immengxin.top.
Escape character is '^]'.
220 mail.immengxin.top ESMTP Postfix
mail from:mx1  //发件人
250 2.1.0 Ok
rcpt to:mx2  //收件人
250 2.1.5 Ok
data  //输入内容
354 End data with <CR><LF>.<CR><LF>
immengxin  //正文部分
.  //以.结束
250 2.0.0 Ok: queued as 24F558E12C9
quit  //退出
221 2.0.0 Bye
Connection closed by foreign host.
  • 连接收信服务器,测试收件
[root@immengxin ~]# telnet mail.immengxin.top 110
Trying 192.168.48.10...
Connected to mail.immengxin.top.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user mx2  //登录用户
+OK
pass linux  //用户密码
+OK Logged in.
list  //信件 列表
+OK 1 messages:
1 389
.
top 1 389  //查看信件内容
+OK
Return-Path: <mx1@immengxin.top>
X-Original-To: mx2
Delivered-To: mx2@immengxin.top
Received: from QinRui (QinRui [192.168.48.10])
        by mail.immengxin.top (Postfix) with SMTP id 24F558E12C9
        for <mx2>; Sun, 13 Nov 2022 21:36:26 +0800 (CST)
Message-Id: <20221113133635.24F558E12C9@mail.immengxin.top>
Date: Sun, 13 Nov 2022 21:36:26 +0800 (CST)
From: mx1@immengxin.top

immengxin
.
quit  //退出
+OK Logging out.
Connection closed by foreign host.
posted @ 2022-11-13 21:54  我不是萌新  阅读(1285)  评论(1编辑  收藏  举报