温馨提示×

如何部署Ubuntu邮件服务器

小樊
35
2026-08-15 17:08:34
栏目: 云计算

下面给你一个从零开始部署 Ubuntu 邮件服务器(Postfix + Dovecot)的完整实战指南,适合企业邮箱 / 自建域名邮箱
示例以 Ubuntu 22.04 LTS 为例,假设你的域名为 example.com


一、准备工作

1️⃣ 服务器要求

  • 一台公网 Ubuntu 服务器(VPS)
  • 公网 IP(建议固定)
  • 域名(example.com)
  • 25 端口未被封(很多云厂商默认封 25)

2️⃣ 设置主机名

sudo hostnamectl set-hostname mail.example.com

编辑 hosts:

sudo nano /etc/hosts

添加:

1.2.3.4 mail.example.com example.com

二、DNS 配置(非常关键)

在域名 DNS 服务商处添加:

1️⃣ MX 记录

example.com   MX   10   mail.example.com

2️⃣ A 记录

mail.example.com   A   服务器IP

3️⃣ 反向解析(PTR)

向服务器提供商申请:

IP → mail.example.com

4️⃣ SPF 记录

example.com   TXT   "v=spf1 mx ~all"

5️⃣ DKIM(后面生成)

default._domainkey.example.com

6️⃣ DMARC

_dmarc.example.com   TXT   "v=DMARC1; p=quarantine; rua=mailto:admin@example.com"

三、安装邮件服务组件

sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd dovecot-pop3d mailutils

Postfix 安装选项

  • 选择 Internet Site
  • System mail name:example.com

四、配置 Postfix(SMTP)

编辑主配置:

sudo nano /etc/postfix/main.cf

基础配置

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, $mydomain

mynetworks = 127.0.0.0/8
home_mailbox = Maildir/

启用 SMTP 认证

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions =
  permit_sasl_authenticated,
  permit_mynetworks,
  reject_unauth_destination

五、配置 Dovecot(IMAP / POP3)

1️⃣ 启用协议

sudo nano /etc/dovecot/dovecot.conf
protocols = imap pop3

2️⃣ 邮件存储

sudo nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir

3️⃣ 认证配置

sudo nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login

启用系统用户认证:

!include auth-system.conf.ext

4️⃣ Postfix 与 Dovecot 对接

sudo nano /etc/dovecot/conf.d/10-master.conf

service auth 中添加:

unix_listener /var/spool/postfix/private/auth {
  mode = 0660
  user = postfix
  group = postfix
}

六、创建邮件用户

使用系统用户:

sudo useradd -m -s /bin/bash user1
sudo passwd user1

邮箱目录:

/var/spool/mail
或
/home/user1/Maildir

七、DKIM 配置(防垃圾邮件)

安装 OpenDKIM

sudo apt install opendkim opendkim-tools

生成密钥

sudo mkdir -p /etc/opendkim/keys/example.com
cd /etc/opendkim/keys/example.com
sudo opendkim-genkey -s default -d example.com
sudo chown opendkim:opendkim default.private

添加 DNS TXT

cat default.txt

配置 OpenDKIM

sudo nano /etc/opendkim.conf
Domain example.com
KeyFile /etc/opendkim/keys/example.com/default.private
Selector default
Socket inet:8891@localhost

八、Postfix 启用 DKIM

smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept

九、重启服务

sudo systemctl restart postfix
sudo systemctl restart dovecot
sudo systemctl restart opendkim

十、测试邮件服务器

1️⃣ 发邮件

echo "test" | mail -s "hello" user@example.com

2️⃣ 客户端配置

  • IMAP:mail.example.com
  • SMTP:mail.example.com
  • 端口:
    • IMAP:143 / 993(SSL)
    • SMTP:587 / 465

十一、常见问题

✅ 邮件进垃圾箱

  • 检查 SPF / DKIM / DMARC
  • 检查反向解析
  • 避免动态 IP

✅ 25 端口被封

  • 使用中继(SMTP Relay)
  • 或申请解封

十二、进阶建议(生产环境)

✅ 使用 SSL 证书(Let’s Encrypt)
✅ 使用 PostfixAdmin + MariaDB
✅ 使用 Roundcube Webmail
✅ 使用 Fail2ban 防暴力破解


如果你愿意,我可以:

  • ✅ 给你 一步一步命令版
  • ✅ 做 PostfixAdmin + 虚拟用户
  • ✅ 配置 企业级安全邮件服务器
  • ✅ 帮你排查 发不出去 / 进垃圾箱

直接告诉我你的 Ubuntu 版本 + 域名 + 云厂商 即可。

0