温馨提示×

Ubuntu中如何配置邮件服务器

小樊
39
2025-12-06 09:54:37
栏目: 云计算

Ubuntu 邮件服务器配置简明指南

一 架构与准备

  • 组件选型:使用 Postfix 作为 MTA(发信/投递到本地)、Dovecot 提供 IMAP/POP3(收信)与 SASL(认证)。
  • 服务器与网络:准备一台可公网访问的 Ubuntu 主机,开放常用端口 25/587/465/143/993/110/995;云厂商安全组与系统防火墙需同步放行。
  • 域名与解析:确保域名 A 记录 指向服务器 IP,设置 MX 记录 指向你的邮件主机名(如:mail.example.com)。
  • 基础环境:更新系统并安装工具(如 mailutils),便于命令行测试与排错。

二 安装与基础配置

  • 安装软件包
    • sudo apt update && sudo apt install postfix dovecot-core dovecot-imapd dovecot-lmtpd mailutils -y
  • Postfix 基础配置(/etc/postfix/main.cf)
    • myhostname = mail.example.com
    • mydomain = example.com
    • myorigin = $mydomain
    • inet_interfaces = all
    • inet_protocols = ipv4(或 all)
    • mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    • mynetworks = 127.0.0.0/8 [::1]/128
    • home_mailbox = Maildir/
  • Dovecot 基础配置
    • /etc/dovecot/dovecot.conf 或 /etc/dovecot/conf.d/10-mail.conf:mail_location = maildir:~/Maildir
    • /etc/dovecot/conf.d/10-auth.conf:disable_plaintext_auth = no;auth_mechanisms = plain login
    • 启用协议:protocols = imap lmtp(如需 POP3 再加 pop3)

三 安全与认证集成

  • Postfix 启用 SASL(对接 Dovecot)
    • smtpd_sasl_auth_enable = yes
    • smtpd_sasl_type = dovecot
    • smtpd_sasl_path = private/auth
    • smtpd_sasl_security_options = noanonymous
    • smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
  • Dovecot 提供 SASL 套接字(/etc/dovecot/conf.d/10-master.conf)
    • service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } }
  • 可选:使用 Dovecot 的 LMTP 交付(/etc/dovecot/conf.d/10-master.conf)
    • service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } }
  • 提交端口与加密
    • 端口 587(Submission,带 STARTTLS)用于客户端发信;端口 465(SMTPS)为隐式 TLS。
    • 建议为 Postfix 配置 TLS 证书(可使用 Let’s Encrypt),并在客户端启用加密连接。

四 用户与投递方式

  • 系统用户方式(简单)
    • 添加用户:sudo adduser alice
    • 邮箱目录自动为 ~/Maildir/(由 home_mailbox 指定)。
  • 虚拟用户方式(进阶)
    • 使用 MySQL 存储用户与域,Dovecot 通过 SQL 认证;创建数据库与用户并授予权限,然后在 Dovecot 配置 SQL 认证文件。适合多域名与大规模部署。

五 测试与运维

  • 防火墙放行
    • sudo ufw allow 25/tcp;sudo ufw allow 587/tcp;sudo ufw allow 465/tcp
    • sudo ufw allow 143/tcp;sudo ufw allow 993/tcp;sudo ufw allow 110/tcp;sudo ufw allow 995/tcp
  • 连通性与协议测试
    • SMTP:telnet mail.example.com 25 或 openssl s_client -connect mail.example.com:25
    • SMTP Submission:openssl s_client -connect mail.example.com:587 -starttls smtp
    • IMAP:openssl s_client -connect mail.example.com:993
  • 发送测试
    • echo “Test email body” | mail -s “Testuser@example.com
  • 日志与排错
    • 查看 /var/log/mail.log/var/log/dovecot.log,关注连接、认证、投递错误与黑名单提示。
  • 客户端配置示例
    • 发信(SMTP):服务器 mail.example.com,端口 587,加密 STARTTLS,认证 PLAIN/LOGIN,用户名 完整邮箱地址
    • 收信(IMAP):服务器 mail.example.com,端口 993,加密 SSL/TLS,用户名 完整邮箱地址

0