温馨提示×

CentOS邮件服务器使用指南

小樊
54
2025-09-26 09:57:43
栏目: 云计算

CentOS邮件服务器使用指南(基于Postfix+Dovecot)

一、基础环境准备

  1. 系统与域名要求
    • 使用CentOS 7/8/Stream(推荐CentOS Stream,长期支持);
    • 准备一个已备案的一级域名(如example.com),用于MX记录解析;
    • 分配公网IP地址(若为云服务器,需开通对应端口)。
  2. 关闭防火墙与SELinux(仅测试环境)
    测试时可临时关闭,生产环境需配置规则放行端口:
    sudo systemctl stop firewalld && sudo systemctl disable firewalld sudo sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config setenforce 0 

二、安装必要软件包

安装Postfix(MTA,邮件传输代理)、Dovecot(MDA,邮件投递代理)及SASL认证组件:

sudo yum update -y sudo yum install postfix dovecot cyrus-sasl -y 

三、配置Postfix(邮件传输代理)

编辑Postfix主配置文件/etc/postfix/main.cf,设置核心参数:

sudo vi /etc/postfix/main.cf 

关键配置说明

  • 服务器标识
    myhostname = mail.example.com # 替换为你的邮件服务器主机名 mydomain = example.com # 替换为你的域名 myorigin = $mydomain 
  • 网络监听
    inet_interfaces = all # 监听所有网络接口 inet_protocols = ipv4 # 仅使用IPv4(若需IPv6,改为"all") 
  • 邮件目的地
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
  • 用户邮箱路径
    home_mailbox = Maildir/ # 邮件存储格式为Maildir(目录结构) 
  • SMTP认证
    smtpd_sasl_auth_enable = yes # 启用SMTP认证 smtpd_sasl_security_options = noanonymous # 禁止匿名登录 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 
  • TLS加密(可选但推荐):
    smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/localhost.crt # 证书路径(可使用自签名证书) smtpd_tls_key_file = /etc/pki/tls/private/localhost.key 

四、配置Dovecot(邮件投递代理)

编辑Dovecot主配置文件/etc/dovecot/dovecot.conf及子配置文件:

sudo vi /etc/dovecot/dovecot.conf 

关键配置说明

  • 支持的协议
    protocols = imap pop3 lmtp # 启用IMAP/POP3/LMTP协议 listen = * # 监听所有IP地址 
  • 邮件存储路径
    mail_location = maildir:~/Maildir # 与Postfix的home_mailbox一致 

编辑SASL认证配置/etc/dovecot/conf.d/10-auth.conf

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

关键配置

disable_plaintext_auth = no # 允许明文认证(测试环境可开启,生产环境建议用SSL加密) auth_mechanisms = plain login # 支持PLAIN和LOGIN认证方式 

编辑邮件存储配置/etc/dovecot/conf.d/10-mail.conf

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

关键配置

mail_privileged_group = mail # 允许mail组用户访问邮件目录 

五、创建邮件用户

添加系统用户并设置密码(每个用户对应一个邮箱):

sudo useradd -m -s /sbin/nologin user1 # 创建用户(-s指定无登录shell) sudo passwd user1 # 设置密码 

邮件目录会自动生成(/home/user1/Maildir),无需手动创建。

六、配置防火墙

允许邮件服务相关端口通过防火墙:

sudo firewall-cmd --permanent --add-service=smtp # SMTP(端口25) sudo firewall-cmd --permanent --add-service=imap # IMAP(端口143) sudo firewall-cmd --permanent --add-service=pop3 # POP3(端口110) sudo firewall-cmd --reload 

七、启动与启用服务

启动Postfix和Dovecot,并设置开机自启:

sudo systemctl start postfix dovecot sudo systemctl enable postfix dovecot 

八、测试邮件服务器

  1. 使用telnet测试SMTP
    连接到本地SMTP端口,模拟发送邮件:

    telnet localhost 25 

    输入以下命令(替换为实际邮箱地址):

    HELO localhost MAIL FROM:<user1@example.com> RCPT TO:<recipient@example.com> # 可替换为自己的邮箱(如Gmail) DATA Subject: Test Email This is a test email from CentOS mail server. . QUIT 

    若收到“250 2.0.0 Ok: queued as…”响应,说明SMTP发送成功。

  2. 使用邮件客户端测试
    配置Outlook/Foxmail等客户端,添加IMAP/SMTP账户:

    • IMAP服务器mail.example.com,端口993(SSL加密);
    • SMTP服务器mail.example.com,端口587(STARTTLS);
    • 用户名/密码user1@example.com/设置的密码。

九、安全加固建议(生产环境必做)

  1. 启用SSL/TLS加密
    使用Let’s Encrypt获取免费证书,替换Postfix/Dovecot的自签名证书,避免邮件内容被窃取。
  2. 配置反垃圾邮件
    安装SpamAssassin或ClamAV,过滤垃圾邮件和病毒附件。
  3. 设置DNS记录
    在域名DNS中添加MX记录(指向邮件服务器IP),并配置SPF、DKIM记录,提高邮件可信度。
  4. 定期更新软件
    使用sudo yum update定期更新Postfix、Dovecot等组件,修复安全漏洞。

0