在统信UOS系统上部署Postfix邮件服务有三种方法:一、APT安装并基础配置,适用于内网测试;二、配置TLS加密的SMTPS(端口465),需证书支持;三、集成Dovecot实现收发一体邮件系统。

如果您在统信UOS系统上需要对外提供邮件发送服务,则需部署Postfix作为SMTP服务器。以下是基于统信UOS服务器版(V20)部署Postfix邮件服务的多种可行方法:
一、使用APT安装并基础配置Postfix
该方法适用于快速启用基本SMTP功能,无需额外证书,适合内网测试环境。Postfix将监听本地所有IPv4接口,并以本机域名作为默认发信域。
1、执行系统更新与Postfix安装命令:
apt update && apt-get install -y postfix mailutils
2、备份原始主配置文件:
cp /etc/postfix/main.cf{,.bak}
3、设置监听范围与域名参数:
postconf -e 'inet_interfaces = all'
postconf -e 'mydomain = uos.local'
postconf -e 'mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost'
4、验证配置语法正确性:
postfix check
5、启用并启动服务:
systemctl enable postfix --now
6、发送测试邮件验证功能:
echo "Test from UOS Postfix" | mail -s "UOS SMTP Test" root
二、配置支持TLS加密的SMTPS服务(端口465)
该方法通过启用smtps服务模式与TLS封装,确保客户端连接时使用强加密通道。需提前准备合法证书或自签名证书,证书路径必须与配置严格一致。
1、确认已安装Postfix及SSL支持组件:
apt install -y postfix openssl
2、创建证书存放目录并生成自签名证书对:
mkdir -p /CA
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /CA/postfix.key -out /CA/postfix.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=UOS/CN=$(hostname -f)"
3、修改主配置启用TLS:
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtpd_tls_cert_file = /CA/postfix.crt'
postconf -e 'smtpd_tls_key_file = /CA/postfix.key'
postconf -e 'smtpd_tls_security_level = may'
4、启用smtps监听(编辑/etc/postfix/master.cf):
在文件末尾添加以下行:
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
5、重启Postfix服务:
systemctl restart postfix
6、检查465端口是否处于监听状态:
ss -tlnp | grep ':465'
三、集成Dovecot实现收发一体邮件系统
该方法扩展Postfix为完整邮件传输代理,并由Dovecot提供IMAPS接收服务,形成闭环邮件架构。用户邮箱采用Maildir格式存储,便于后续Webmail或客户端接入。
1、安装Dovecot IMAP服务组件:
apt install -y dovecot-imapd dovecot-pop3d
2、配置Dovecot启用IMAPS协议与本地认证:
echo 'protocols = imaps' >> /etc/dovecot/conf.d/10-master.conf
echo 'disable_plaintext_auth = no' >> /etc/dovecot/conf.d/10-auth.conf
echo 'ssl = required' >> /etc/dovecot/conf.d/10-ssl.conf
echo 'ssl_cert = /dovecot.crt' >> /etc/dovecot/conf.d/10-ssl.conf
echo 'ssl_key = /dovecot.key' >> /etc/dovecot/conf.d/10-ssl.conf
3、设置用户邮箱路径:
echo 'mail_location = maildir:~/Maildir' >> /etc/dovecot/conf.d/10-mail.conf
4、为Postfix配置本地投递权限:
postconf -e 'home_mailbox = Maildir/'
postconf -e 'virtual_transport = lmtp:unix:private/dovecot-lmtp'
5、创建测试用户并初始化Maildir:
useradd -m -s /bin/bash testuser
echo "UOSMail2026" | passwd --stdin testuser
su - testuser -c "maildirmake ~/Maildir"
6、重启两项服务:
systemctl restart dovecot postfix
四、配置DNS解析与反向解析保障投递可信度
该方法解决外部邮件服务商因缺失PTR记录或MX记录而拒收的问题。Postfix默认依赖DNS解析结果进行中继判断与反向验证,缺失将导致发信失败或进入垃圾箱。
1、确认系统主机名与FQDN一致:
hostnamectl set-hostname mail.uos.local
2、编辑/etc/hosts文件,添加正向与反向映射:
127.0.0.1 mail.uos.local mail localhost
::1 mail.uos.local mail localhost
3、配置本地DNS解析优先级(可选):
echo 'nameserver 114.114.114.114' > /etc/resolv.conf
4、验证域名解析可用性:
host $(hostname -f)
host $(hostname -i)
5、检查Postfix是否识别本机为权威域:
postconf mydestination
6、确认MX记录已在公网DNS中发布:
dig +short MX uos.local
五、批量创建邮箱用户并分配统一密码
该方法适用于需快速部署多账户测试场景,通过shell循环创建指定数量的系统用户,并统一设定密码与邮箱目录结构,避免手动逐个配置耗时易错。
1、创建邮件用户组:
groupadd mailusers
2、执行批量建户脚本(创建mail1至mail50共50个用户):
for i in $(seq 1 50); do
useradd -g mailusers -m -s /bin/bash mail$i
echo "mail$i:UOSMail2026" | chpasswd
su - mail$i -c "maildirmake ~/Maildir"
done
3、验证用户列表:
getent passwd | grep mail | head -n 5
4、检查各用户Maildir是否存在且权限正确:
ls -ld /home/mail1/Maildir
5、为Postfix添加虚拟别名映射(可选):
echo 'mail1@uos.local mail1' >> /etc/aliases
newaliases
6、重新加载别名数据库:
postalias /etc/aliases

















