迁移 Debian 邮件服务器需要整体规划,因为邮件系统通常包括 MTA(Postfix/Exim)、IMAP/POP3(Dovecot)、用户数据、邮件队列、数据库、SSL 证书、DNS 等多个部分。下面我按最常见的 Debian + Postfix + Dovecot 组合,给你一套可操作的迁移流程。
在原服务器上确认:
lsb_release -a
postconf mail_version
dovecot --version
记录:
在新 Debian 服务器上:
apt update
apt upgrade -y
安装与原服务器一致的软件版本(避免兼容问题):
apt install postfix dovecot-core dovecot-imapd dovecot-pop3d
原服务器通常是:
/var/vmail/domain/user/
迁移方法:
rsync -avz --delete /var/vmail/ root@newserver:/var/vmail/
确保权限一致:
chown -R vmail:vmail /var/vmail
rsync -avz /home/ root@newserver:/home/
如需要保留 未发送邮件:
rsync -avz /var/spool/postfix/ root@newserver:/var/spool/postfix/
⚠️ 新服务器 Postfix 版本差异大时不建议迁移队列
rsync -avz /etc/postfix/ root@newserver:/etc/postfix/
重点检查:
postconf -n
rsync -avz /etc/dovecot/ root@newserver:/etc/dovecot/
mysqldump -u root -p mailserver > mailserver.sql
在新服务器导入:
mysql -u root -p mailserver < mailserver.sql
rsync -avz /etc/letsencrypt/ root@newserver:/etc/letsencrypt/
或重新申请:
apt install certbot
certbot certonly --standalone -d mail.example.com
postfix check
dovecot -n
systemctl restart postfix dovecot
systemctl enable postfix dovecot
tail -f /var/log/mail.log
journalctl -u postfix -u dovecot -f
mail.example.com 300 A 旧IP
example.com. MX 10 mail.example.com.
mail.example.com A 新IP
在 DNS 生效期间,在原服务器设置:
/etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
echo "@example.com smtp:[新服务器IP]" >> /etc/postfix/transport
postmap /etc/postfix/transport
systemctl reload postfix
telnet mail.example.com 25
telnet mail.example.com 143
apt install opendkim
✅ 必须保证 /var/vmail 完整
✅ DNS 切换期间原服务器转发
✅ Dovecot 用户数据库路径
✅ 虚拟用户 UID/GID 一致
✅ IP 加入 SPF
✅ 新服务器重新配置 DKIM
你可以直接贴出:
postconf -n
dovecot -n
我可以直接帮你核对迁移清单。