温馨提示×

CentOS邮件服务器使用指南

小樊
62
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