上一篇
一键安装邮件服务器
- 云服务器
- 2025-07-24
- 6
通过Ansible/Shell脚本实现Postfix+Dovecot+Roundcube自动化部署,执行 ansible-playbook mailserver.yml或 bash install.sh完成主从架构搭建,需提前配置MX记录和Let’s Encrypt SSL证书,测试SMTP/IMAP连通性后
准备工作
-
系统要求
- 操作系统:Ubuntu/CentOS/Debian/Windows Server
- 内存:≥2GB(推荐4GB以上)
- 存储:≥20GB(含邮件数据存储)
- 固定公网IP(可选,动态IP需配合DDNS)
-
域名准备

- 解析MX记录至服务器IP
- 开通SPF/DKIM记录(提升邮件信誉)
一键安装脚本选择
| 工具/平台 | 特点 | 命令/链接 |
|---|---|---|
| Ubuntu/Debian | 使用tasksel或mailserver-auto脚本 | sudo apt install mailserver-auto |
| CentOS/RHEL | 通过yum安装postfix+dovecot组合 | sudo yum install epel-release && yum install postfix dovecot |
| Docker方案 | 容器化部署,快速隔离环境 | docker run -d --name mailserver -p 25:25 -p 110:110 mailserveros/mailserver |
| Web控制面板 | 如Mail-in-a-Box(集成Web管理界面) | 官网下载脚本:https://mailinabox.email/setup.py |
核心组件配置
Postfix(邮件传输代理)
-
安装命令
# Ubuntu/Debian sudo apt install postfix # CentOS sudo yum install postfix -
配置示例(/etc/postfix/main.cf):
myhostname = mail.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = all alias_maps = hash:/etc/aliases
Dovecot(邮件存储与POP3/IMAP)
-
安装命令
# Ubuntu/Debian sudo apt install dovecot-imapd dovecot-pop3d # CentOS sudo yum install dovecot -
启用IMAP/POP3
修改/etc/dovecot/dovecot.conf:
protocols = imap pop3 mail_location = maildir:~/maildir
MySQL/MariaDB(存储用户与域数据)
-
安装命令
# Ubuntu/Debian sudo apt install mariadb-server # CentOS sudo yum install mariadb-server
-
创建数据库
CREATE DATABASE mail; GRANT ALL ON mail. TO 'mailuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Webmail集成(可选)
| 工具 | 安装命令 | 访问地址 |
|---|---|---|
| Roundcube | sudo apt install roundcube roundcube-core roundcube-mysql | https://yourdomain/roundcube |
| rainloop | sudo apt install rainloop-webmail | https://yourdomain/webmail |
防火墙与安全设置
-
开放必要端口
| 服务 | 端口 | 协议 |
|————–|———————–|———|
| SMTP | 25/465/587 | TCP |
| IMAP/POP3 | 143/993 (SSL) | TCP |
| Webmail | 80/443 | HTTP/HTTPS |
# UFW(Ubuntu) sudo ufw allow 25,110,143,465,587,993,80,443/tcp -
启用TLS加密
- 生成自签名证书: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/mail.key -out /etc/ssl/certs/mail.crt
- Postfix配置添加: smtpd_tls_cert_file = /etc/ssl/certs/mail.crt smtpd_tls_key_file = /etc/ssl/private/mail.key
测试与验证
- 本地发信测试 echo "Test email" | mail -s "Subject" user@example.com
- 远程工具验证
- SMTP连通性:telnet yourdomain 25
- IMAP/POP3登录:telnet yourdomain 110或993
- Webmail界面访问:浏览器输入https://yourdomain/webmail
常见问题与解答
Q1:安装后无法收发邮件,如何解决?
- A1:
- 检查MX记录是否指向正确IP;
- 确认Postfix的mydomain配置与域名一致;
- 查看日志文件(/var/log/mail.log)排查错误。
Q2:邮件被标记为垃圾邮件,如何提高信誉?
- A2:
- 配置SPF记录(如:v=spf1 a mx ~all);
- 启用DKIM签名(使用opendkim并生成密钥);
- 避免开放为中继服务器,限制发信IP
