Featured image of post VPS搭建个人邮件服务器完整教程2026:Postfix+Dovecot+Rainloop

VPS搭建个人邮件服务器完整教程2026:Postfix+Dovecot+Rainloop

用VPS搭建自己的邮件服务器,实现域名邮箱收发。从零开始手把手教你配置Postfix+Dovecot+Rainloop,包含SPF/DKIM/DMARC防垃圾邮件设置。

你想用 [email protected] 这样的域名邮箱收发邮件吗?不想每个月给 Google Workspace 或 Zoho 交月费?用 VPS 自己搭一个邮件服务器是完全可行的。

本教程从零开始,带你用一台最便宜的 VPS 搭建完整的个人邮件服务器,支持收发邮件、Webmail 界面、防垃圾邮件。


你需要什么

所需物品说明花费
一台 VPS1核1GB 足够,推荐 RackNerd$21.99/年起
一个域名可以是 .com/.net/.org 等$10-15/年
SSH 客户端macOS 用 Terminal,Windows 用 PuTTY免费
大约 2 小时配置+验证+测试

⚠️ 重要提醒: 搭建邮件服务器不难,但维护邮件服务器需要持续关注。如果你只是偶尔发邮件,Google Workspace ($6/月) 或 Zoho (免费版) 可能更省心。本教程适合想完全掌控邮件系统的用户。


第 1 步:买 VPS 和准备域名

买 VPS

推荐选择 RackNerd KVM VPS 2GB ($18.29/年),配置完全够用:

  • 2核 CPU
  • 2GB RAM
  • 35GB SSD
  • 5TB 月流量

机房选洛杉矶 DC03,对亚太用户延迟最低。

准备域名 DNS

登录你的域名管理面板(Cloudflare、Namecheap 等),添加以下 DNS 记录:

类型主机名TTL
Amail.yourdomain.com你的 VPS IP3600
MXyourdomain.commail.yourdomain.com3600
TXTyourdomain.comv=spf1 mx a ~all3600

MX 记录告诉互联网「发给 yourdomain.com 的邮件应该发到 mail.yourdomain.com」。


第 2 步:安装基础环境

SSH 登录 VPS 后执行:

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装必要工具
sudo apt install -y curl wget git net-tools

# 设置主机名(替换为你的域名)
sudo hostnamectl set-hostname mail.yourdomain.com

# 配置 hosts 文件
echo "$(curl -s ifconfig.me) mail.yourdomain.com mail" | sudo tee -a /etc/hosts

第 3 步:安装和配置 Postfix(MTA)

Postfix 是邮件传输代理,负责发送和接收邮件。

# 安装 Postfix
sudo apt install -y postfix

# 安装过程中选择:
# General type of mail configuration: Internet Site
# System mail name: yourdomain.com

编辑 Postfix 主配置文件:

sudo nano /etc/postfix/main.cf

找到并修改以下配置(保留其他默认值):

myhostname = mail.yourdomain.com
mydomain = yourdomain.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4

# TLS 配置
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls = yes
smtpd_tls_auth_only = yes

# Milter(DKIM 支持)
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:/opendkim/opendkim.sock
non_smtpd_milters = local:/opendkim/opendkim.sock

重启 Postfix:

sudo systemctl restart postfix
sudo systemctl enable postfix

第 4 步:安装和配置 Dovecot(IMAP/POP3)

Dovecot 负责让用户通过邮件客户端(Outlook、Thunderbird 等)收取邮件。

# 安装 Dovecot
sudo apt install -y dovecot-core dovecot-imapd dovecot-pop3d

# 配置邮件存储格式
sudo nano /etc/dovecot/conf.d/10-mail.conf

修改以下行:

mail_location = maildir:~/Maildir

配置认证:

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

修改:

disable_plaintext_auth = yes
auth_mechanisms = plain login

配置 SSL:

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

修改:

ssl = required
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

重启 Dovecot:

sudo systemctl restart dovecot
sudo systemctl enable dovecot

第 5 步:创建邮件用户

# 创建用户(替换 yourname 和密码)
sudo adduser yourname

# 创建 Maildir 目录
sudo -u yourname mkdir -p /home/yourname/Maildir/{cur,new,tmp}

# 测试邮件用户
echo "Test" | sudo -u yourname sendmail [email protected]

第 6 步:安装 DKIM(防止邮件被标记为垃圾邮件)

DKIM 是邮件域名密钥识别,能大幅提高邮件送达率。

# 安装 OpenDKIM
sudo apt install -y opendkim opendkim-tools

# 配置 OpenDKIM
sudo nano /etc/opendkim.conf

添加/修改:

AutoRestart yes
AutoRestartRate 10/1h
Syslog yes
SyslogSuccess yes
SignatureAlgorithm rsa-sha256
Mode sv
PidFile /var/run/opendkim/opendkim.pid
UMask 007
UserID opendkim:opendkim
Socket local:/var/spool/postfix/opendkim/opendkim.sock

生成 DKIM 密钥:

# 创建密钥目录
sudo mkdir -p /etc/opendkim/keys/yourdomain.com

# 生成密钥
sudo opendkim-genkey -D /etc/opendkim/keys/yourdomain.com -d yourdomain.com -s mail -b 2048

# 设置权限
sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod -R 700 /etc/opendkim/keys

# 创建 socket 目录
sudo mkdir -p /var/spool/postfix/opendkim
sudo chown opendkim:opendkim /var/spool/postfix/opendkim

重启服务:

sudo systemctl restart opendkim

添加 DKIM DNS 记录

查看你的 DKIM 公钥:

cat /etc/opendkim/keys/yourdomain.com/mail.txt

在域名 DNS 中添加 TXT 记录:

类型主机名
TXTmail._domainkey.yourdomain.comv=DKIM1; k=rsa; p=你的公钥内容(去掉引号和换行)

第 7 步:添加 DMARC 记录

DMARC 告诉收件方如何处理未通过 SPF/DKIM 验证的邮件。

在 DNS 中添加:

类型主机名
TXT_dmarc.yourdomain.comv=DMARC1; p=quarantine; rua=mailto:[email protected]

第 8 步:安装 Webmail(Rainloop)

Rainloop 是一个轻量级的 Web 邮件客户端,界面美观。

# 安装依赖
sudo apt install -y php php-fpm php-mysql php-mbstring php-xml php-curl php-zip nginx

# 下载 Rainloop
cd /var/www
sudo wget https://www.rainloop.net/latest/webmail/?type=dl&os=Linux
sudo unzip latest -d rainloop
sudo chown -R www-data:www-data rainloop

# 配置 Nginx
sudo nano /etc/nginx/sites-available/webmail

写入:

server {
    listen 80;
    server_name webmail.yourdomain.com;
    root /var/www/rainloop;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/webmail /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

访问 http://webmail.yourdomain.com/?admin,默认管理员密码:12345(登录后立即修改)。


第 9 步:开放防火墙端口

# UFW 防火墙
sudo ufw allow 25/tcp    # SMTP
sudo ufw allow 465/tcp   # SMTPS
sudo ufw allow 587/tcp   # Submission
sudo ufw allow 993/tcp   # IMAPS
sudo ufw allow 995/tcp   # POP3S
sudo ufw allow 80/tcp    # HTTP (Webmail)
sudo ufw allow 443/tcp   # HTTPS (Webmail)
sudo ufw enable

第 10 步:测试邮件收发

用命令行测试发送

echo "This is a test email from my VPS mail server." | mail -s "Test Email" [email protected]

用 Thunderbird 测试

  1. 下载 Mozilla Thunderbird
  2. 添加邮箱账户:[email protected]
  3. 服务器设置:
    • IMAP: mail.yourdomain.com, 端口 993, SSL/TLS
    • SMTP: mail.yourdomain.com, 端口 587, STARTTLS
  4. 用户名:yourname

检查邮件送达

# 查看邮件队列
sudo postqueue -p

# 查看邮件日志
sudo tail -f /var/log/mail.log

# 测试 SPF/DKIM/DMARC
# 发一封邮件到 https://www.mail-tester.com/,获取评分

💡 技巧: 把测试邮件发到 [email protected],它会自动返回 SPF/DKIM/DMARC 验证结果。


常见问题

Q: 发到 Gmail 的邮件进了垃圾箱怎么办?

A: 这是最常见的问题。确保:

  1. SPF 记录正确(dig TXT yourdomain.com 检查)
  2. DKIM 签名生效(opendkim-testkey -d yourdomain.com -s mail
  3. DMARC 记录已添加
  4. VPS 的 IP 没有被列入黑名单(用 MXToolbox 检查)
  5. 如果是新 IP,可能需要「预热」——前几周每天少量发送,逐渐增加

Q: 需要多少内存?

A: Postfix + Dovecot 基础安装占用约 200MB。加上 Rainloop 和 Nginx,总共约 500MB。1GB 内存的 VPS 绑绑有余。推荐 RackNerd 1GB ($21.99/年)

Q: 可以收发附件吗?

A: 可以。Postfix 默认限制 10MB 附件大小,可以在 /etc/postfix/main.cf 中修改:

message_size_limit = 52428800  # 50MB

Q: 能用这个邮件服务器发营销邮件吗?

A: 技术上可以,但强烈不推荐。用个人 VPS 大量发送营销邮件会被各大邮件服务商标记为垃圾邮件发送者,IP 会被加入黑名单。营销邮件请用专业的邮件营销服务(如 Mailchimp、SendGrid)。

Q: 服务器重启后邮件服务会自动启动吗?

A: 上面的 enable 命令已经设置了开机自启。用以下命令确认:

sudo systemctl status postfix dovecot opendkim

三个服务都应该显示 active (running)


维护建议

搭建完不等于万事大吉,邮件服务器需要持续维护:

  1. 定期更新系统 sudo apt update && sudo apt upgrade
  2. 监控日志 sudo tail -f /var/log/mail.log
  3. 检查 IP 黑名单 每周用 MXToolbox 检查一次
  4. 备份邮件数据 /home/*/Maildir/ 目录
  5. 更新 SSL 证书 如果用了 Let’s Encrypt,需要自动续签

总结

步骤工具耗时
VPS + 域名准备RackNerd + Cloudflare15 分钟
Postfix 安装配置APT + nano20 分钟
Dovecot 安装配置APT + nano15 分钟
DKIM + DMARC 配置OpenDKIM + DNS20 分钟
Webmail 安装Rainloop + Nginx15 分钟
测试验证Thunderbird + mail-tester30 分钟

总耗时: 约 2 小时(不含等待 DNS 生效)

搭建完成后,你就拥有了一个完全由自己掌控的邮件系统。不依赖任何第三方服务,收发自由。


Disclaimer: Some links are affiliate links. We may earn a commission at no extra cost to you. Email server setup requires technical knowledge and ongoing maintenance. We recommend this for users comfortable with Linux server administration.