Skip to content
字数
610 字
阅读时间
4 分钟

部署Postfix

安装编译软件包

dnf install -y \
  gcc make \
  openssl-devel \
  cyrus-sasl-devel \
  pcre2-devel \
  libdb-devel \
  pcre-devel \
  m4

创建邮件用户

groupadd -g 2525 postfix
groupadd -g 2526 postdrop
useradd -u 2525 -g postfix -s /sbin/nologin -M postfix

准备源码文件

mkdir -p /opt/packages
cd /opt/packages/
wget https://ftpmirror1.infania.net/mirror/postfix-release/official/postfix-3.10.5.tar.gz

查看源码文件

[root@localhost packages]# ls -l
总用量 2728
-rw-r--r-- 1 root root 2793398  8月 28  2009 postfix-3.10.5

解压源码到/opt/modules中

mkdir -p /opt/modules
tar -zxf postfix-3.10.5 -C /opt/modules/
../modules/postfix-3.10.5/

编译并安装

编译脚本如下

make makefiles \
  CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DNO_NIS -I/usr/include/sasl' \
  AUXLIBS='-lssl -lcrypto -lsasl2'

编译并安装

make -j$(nproc) && make install

安装过程选项默认即可 安装完成提示 ![[20251216151857.png]] 检查并启用服务

postfix check
postfix start

测试本地发件

修改别名数据库

vi /etc/aliases

修改如下两行,如果没有就创建

root: root
postfix: root

生成别名数据库

newaliases

重载配置

postfix reload

测试本地发件

发送一封测试邮件

echo "Test mail after fixing aliases" | mail -s "Test Email" root

查看本地邮箱

cat /var/mail/root

结果如下

[root@localhost ~]# cat /var/mail/root
From root@localhost.localdomain  Tue Dec 16 15:23:17 2025
Return-Path: <root@localhost.localdomain>
X-Original-To: root
Delivered-To: root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
	id 440C341880F6; Tue, 16 Dec 2025 15:23:17 +0800 (CST)
Date: Tue, 16 Dec 2025 15:23:17 +0800
To: root@localhost.localdomain
Subject: Test Email
User-Agent: s-nail v14.9.22
Message-Id: <20251216072317.440C341880F6@localhost.localdomain>
From: root <root@localhost.localdomain>

Test mail after fixing aliases

部署dovecot

安装编译软件包

dnf install -y gcc make pkgconf bzip2 bzip2-devel zlib zlib-devel \
                openssl openssl-devel libicu libicu-devel \
                libtool autoconf automake pam-devel

获取源码包

cd /opt/packages
wget https://dovecot.org/releases/2.3/dovecot-2.3.21.tar.gz
[root@localhost packages]# ls -l
总用量 12580
-rw-r--r-- 1 root root 7837242  9月 15  2023 dovecot-2.3.21.tar.gz
-rw-r--r-- 1 root root 5039523 12月 16 14:42 postfix-3.10.5.tar.gz
tar -zxf dovecot-2.3.21.tar.gz -C /opt/modules/
cd ../modules/dovecot-2.3.21/

编译并安装

配置脚本如下:

./configure \
  --prefix=/usr/local/dovecot \
  --sysconfdir=/etc/dovecot \
  --localstatedir=/var \
  --with-ssl=openssl \
  --with-ldap=no \
  --with-sqlite=no \
  --with-pam=yes \
  --with-icu=yes

编译配置检查完成如下 ![[20251216153738.png]] 编译并安装

make -j$(nproc) && make install

配置文件

主配置文件

cp -r /usr/local/dovecot/share/doc/dovecot/example-config/* /etc/dovecot/
vi /etc/dovecot/dovecot.conf

在文件末尾添加

!include_try /etc/dovecot/conf.d/*.conf

10-mail文件

vi /etc/dovecot/conf.d/10-mail.conf

找到文件位置修改为:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

10-auth文件

vi /etc/dovecot/conf.d/10-auth.conf

找到auth_mechanisms这一行,在下面添加

auth_mechanisms = plain login
!include auth-system.conf.ext

10-master文件

vi /etc/dovecot/conf.d/10-master.conf

找到service imap-login将下面修改为

inet_listener imap {
	port = 143
}
inet_listener imaps {
    port = 993
    ssl = yes
}

运行dovecot

/usr/local/dovecot/sbin/dovecot -c /etc/dovecot/dovecot.conf

给登录用户发送测试邮件

echo "这是一封测试邮件" | mail -s "测试邮件" mlishu

配置SSL

vi 10-

贡献者

The avatar of contributor named as lishu620 lishu620

文件历史

撰写