MailBox 一键极速部署域名邮箱系统 - 完美支持 IMAP SMTP POP3(支持TLSv1.3)
简介
开源组件
安装要求
MailBox邮件系统通过脚本方式在线部署,请确保你的服务器允许访问网络。
个人邮箱部署国外 VPS 推荐,支持rDNS:
CloudCone:2核 1G(适合体验型,部署完成后建议关闭 ClamAV 病毒扫描)
CloudCone:2核 2G(完全满足配置要求)
系统:全新的 CentOS 7
、Red Hat 7
、CentOS 9
、Red Hat 9
、Rocky Linux 9
架构:aarch64
、x86_64
(RHEL 9 目前暂时仅支持 x86_64 架构)
ARM 服务器部署已经过华为鲲鹏服务器测试通过
端口:25
、8000
、8010
、143
、993
、995
、587
、110
、465
对于腾讯云、阿里云服务器,需在服务器后台单独申请开放25
端口方可正常使用邮件服务。
腾讯云解封25端口:控制台 → 安全管控(头像处) → 25 端口解封
阿里云解封25端口:参考链接 https://developer.aliyun.com/article/701303
服务器性能要求
最低配置:1核 1G RAM
推荐配置:2核 4G RAM 或更高
开始安装
操作顺序:域名解析 → 安装 MailBox → DKIM 设置
请按照以下表格添加域名解析记录,127.0.0.1
替换成你的服务器IP地址,example.com
替换成你的域名地址。
主机记录 | 记录类型 | 记录值 | MX |
A | 127.0.0.1 | ||
@ | MX | mail.example.com | 5 |
@ | TXT | v=spf1 mx -all | |
imap | CNAME | mail.example.com | |
smtp | CNAME | mail.example.com | |
pop | CNAME | mail.example.com | |
_dmarc | TXT | v=DMARC1; p=none |
通过终端使用 root 用户执行安装指令,安装程序提示键入 域名地址 即可快速完成安装!
bash -c "$(curl -sS https://www.cooluc.com/mailbox-install.sh)"
使用命令获取 dkim key
amavisd -c /etc/amavisd/amavisd.conf showkeys
拷贝 dkim key 内容后,前往 DKIM 整理站点生成标准的 DKIM TXT 解析记录值
根据整理后输出信息,前往域名解析处添加 DKIM 域名记录值即可!
到此,MailBox 邮箱系统已经完成安装与配置!
使用方法
根据安装完成提示信息,进入后台管理页面
登录地址:http://mail.example.com:8010/
默认账户:admin
默认密码:www.cooluc.com
邮箱管理 → 添加邮箱
添加邮箱地址 admin@example.com
,设置密码后 保存,即可完成添加。
MailBox 配备 Rainloop 开源网页邮件客户端,进入
http://mail.example.com:8000/
登录即可使用。登录账号为管理后台所添加的邮箱账户。
邮箱账户管理后台 (EwoMail-Admin) & 网页邮箱后台 (Rainloop) 均为固定默认账号密码,请务必登录后台进行密码修改
邮箱账户管理后台地址:http://mail.example.com:8010/
网页邮箱后台地址:http://mail.example.com:8000/?admin
默认账号:admin
默认密码:www.cooluc.com
请务必修改以上两个后台密码!
MailBox 安装程序不设置MySQL root密码,默认为空密码,需自行进行初始 root 密码设置
使用终端执行命令行设置 MySQL root密码
mysqladmin -u root -p password 123456
123456
换成你要设置的密码,过程中会提示 Enter password:
,由于root密码为空,直接回车即可完成设置。
打开win10 邮件,添加账户 - 高级设置
Internet 电子邮件
填写邮件用户名、密码
传入电子邮件服务器:mail.example.com
账户类型:IMAP4
传出(SMTP)电子邮件服务器:smtp.example.com
完成登录
依次打开 设置 - 邮件 - 账户 - 添加账户 - 选择其它
添加邮件账户
填写账户信息 - 下一步
填写主机名、用户名、密码
收件服务器
主机名:mail.example.com
发件服务器
主机名:smtp.example.com
信息填写完毕后,点击下一步进行验证,验证通过即可使用。
维护相关
如果你的邮箱客户端支持 SSL 加密,可以参考下表,使用正确的信息设置你的邮箱客户端。
接收邮件服务器 | 服务器地址 | 端口 | SSL 加密 |
---|---|---|---|
IMAP | imap.example.com | 993 | SSL/TLS |
IMAP | imap.example.com | 143 | STARTTLS |
POP3 | pop.example.com | 110 | STARTTLS |
发送邮件服务器 | 服务器地址 | 端口 | SSL 加密 |
---|---|---|---|
SMTP | smtp.example.com | 465 | SSL/TLS |
SMTP | smtp.example.com | 587 | STARTTLS |
SMTP | mail.example.com | 25 | 无 |
默认情况下,系统会定期进行病毒数据库检查更新,但由于国内网络原因,失败率非常高。
使用终端执行病毒数据库更新命令
freshclam
数据中心为境外节点,如果服务器出现无法下载更新,可以前往 ClamAV 官网下载最新数据库手动上传更新。
前往病毒数据库下载中心,点击 Virus Database 选项,下载 main.cvd | daily.cvd | bytecode.cvd 这三个数据包文件。
下载完成后,使用 SFTP 等工具覆盖
上传到服务器 /var/lib/clamav/
文件夹上,执行以下命令行生效数据库
chown -R clamupdate:clamupdate /var/lib/clamav
systemctl restart amavisd clamd@amavisd
命令执行完成后,数据库即更新到最新,再次执行 freshclam
手动更新命令会提示当前数据库已经是最新!
备份目录:/mailbox/mail
,建议使用 tar 压缩备份确保数据的完整性。
导出数据库:通过 /mailbox/default_info.txt
文件查看 MySQL 数据库密码,使用以下命令导出数据表
mysqldump -umailbox -p密码 mailbox > mailbox.sql
邮件目录恢复:把备份的 mail
文件夹覆盖回 /mailbox/mail
目录上,使用以下命令赋予权限
chown -R vmail.vmail /mailbox/mail
数据库恢复:使用命令导入数据库备份文件
mysql -umailbox -p密码 mailbox < mailbox.sql # mailbox.sql 为之前备份的数据库文件,如果文件不在当前目录,请指定文件绝对路径
如果是重新安装后恢复数据,当前 MySQL 数据库密码同样通过 /mailbox/default_info.txt
文件获得。
目录与数据库恢复完成后,重启服务生效
systemctl restart dovecot postfix
- 当修改程序配置时,使用以下命令重启对应的服务 *
# Nginx
systemctl restart nginx@mailbox
# PHP
systemctl restart php-fpm@mailbox
# MySQL
systemctl restart mariadb.service
# Dovecot
systemctl restart dovecot
# Postfix
systemctl restart postfix
systemctl 参数说明
systemctl stop
-停止服务systemctl restart
-重启服务systemctl reload
-重载服务
编辑配置文件:/etc/amavisd/amavisd.conf
- 大约在
826
行,按以下方式添加新增域名并保存。
# Add dkim_key here.
dkim_key("example1.com", "dkim", "/mailbox/dkim/mail.pem");
dkim_key("example2.com", "dkim", "/mailbox/dkim/mail.pem");
重启 amavisd 生效
systemctl restart amavisd
添加 DKIM 记录值
使用命令获取 dkim key
amavisd -c /etc/amavisd/amavisd.conf showkeys
拷贝 dkim key 内容后,前往 DKIM 整理站点生成标准的 DKIM TXT 解析记录值
发送
或 接收
邮件。
MailBox SSL/TLS 证书位于:/mailbox/ssl/
目录
- postfix:
/mailbox/ssl/postfix
,证书签署域名应为smtp.example.com
或*.example.com
- dovecot:
/mailbox/ssl/dovecot
,证书签署域名应为imap.example.com
或*.example.com
DH密钥交换(请勿修改此文件):/mailbox/ssl/dh2048/dhparam.pem
更换证书后,通过以下命令重启服务使其生效
systemctl restart postfix dovecot
域名证书申请
- 配置 https 访问需要准备一个授信的 SSL 域名证书,可以到 免费申请或使用已有证书。
- 签署的域名:
mail.example.com
- 使用 SFTP 工具在
/mailbox/ssl/
目录上创建nginx
文件夹,把域名证书上传到/mailbox/ssl/nginx/
目录,私钥命名为mail.key
公钥命名为mail.crt
。
修改nginx配置文件
- 使用 SFTP 工具修改
/mailbox/nginx/conf/conf.d/rainloop.conf
文件内容为以下内容(建议修改前先备份,避免修改错误导致无法打开网页邮件)
server {
listen 80;
listen 443 ssl http2;
server_name mail.example.com; # mail 二级域名地址
root /mailbox/www/rainloop/;
index index.html index.htm index.php;
ssl_certificate /mailbox/ssl/nginx/mail.crt; # 域名证书绝对路径
ssl_certificate_key /mailbox/ssl/nginx/mail.key; # 证书私钥绝对路径
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_dhparam /mailbox/ssl/dh2048/dhparam.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
add_header Strict-Transport-Security "max-age=63072000" always;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
# 自动跳转 https
if ($scheme = http) {
return 301 https://$host$request_uri;
}
location ^~ /data {
deny all;
}
location ~ .*\.php(\/.*)*$ {
include fastcgi.conf;
fastcgi_pass unix:/mailbox/php/var/run/mailbox-fpm.sock;
}
}
修改后台内部跳转地址(用于邮箱管理页面跳转,该修改非必要)
- 编辑文件:
/mailbox/www/admin/core/config.php
- 把
'webmail_url' => 'http://mail.example.com:8000',
修改为'webmail_url' => 'https://mail.example.com',
保存即可。
重启 nginx 服务器生效 https
systemctl restart nginx@mailbox
设置 WebMail SSL/TLS 连接
- 编辑 hosts 文件:
/etc/hosts
,删除127.0.0.1 mail.example.com smtp.example.com imap.example.com
这一行并保存 - 登录 RainLoop 后台面板:
http://mail.example.com/?admin
- 点击
域名
-点击自己的域名
,IMAP和SMTP 加密选择为SSL/TLS
,点击测试,IMAP和SMTP 字体变为绿色则成功,点击更新按钮完成操作!
上述 mail.example.com 均换成自己的域名
终端执行以下命令
sed -i 's/Wants=clamd/\#Wants=clamd/g' /usr/lib/systemd/system/amavisd.service
systemctl daemon-reload
systemctl stop clamd@amavisd
systemctl disable clamd@amavisd
systemctl restart amavisd
rDNS 为可选设置项,未设置 rDNS 国内全邮箱平台依然可正常进入收件箱。rDNS 需要在 ISP(服务提供商)或 运营商进行设置,腾讯云/阿里云 服务器可通过工单形式申请。
设置 rDNS,请把 IP地址
反向解析到 mail.example.com
(example.com为自己的域名)上即可!
bash -c "$(curl -sS https://www.cooluc.com/mailbox-install.sh)"
选择 2
进行卸载。
界面截图
邮箱检测
SSL/TLS安全评估:https://myssl.com/
垃圾邮件评测:https://www.mail-tester.com/
版权声明:本文为原创文章,版权归 Cooluc's Blog 所有,转载请注明出处!
本文链接:https://www.cooluc.com/archives/576.html
友情提示:如果博客出现404或链接失效,请留言或者联系博主修复!
123 条评论
WEB服务启动失败怎么回事啊?
博主,求个teambition那个教程,做下载找点看着挺好的
在配置WebMail SSL/TLS报SSL isn't supported: (tcp, udp, unix, udg) ,可证书都是正常替换了的
取消本地通讯
编辑 /etc/hosts 文件,删除下面一行内容
127.0.0.1 domain.com mail.domain.com imap.domain.com smtp.domain.com
😀
失踪人口
已加载插件:fastestmirror
base: mirrors.huaweicloud.comextras: mirrors.huaweicloud.comupdates: mirrors.huaweicloud.comLoading mirror speeds from cached hostfile
软件包 libxml2-devel-2.9.1-6.el7.4.aarch64 已安装并且是最新版本
软件包 1:openssl-devel-1.0.2k-19.el7.aarch64 已安装并且是最新版本
软件包 libcurl-devel-7.29.0-57.el7_8.1.aarch64 已安装并且是最新版本
软件包 libicu-devel-50.2-4.el7_7.aarch64 已安装并且是最新版本
软件包 libxslt-devel-1.1.28-5.el7.aarch64 已安装并且是最新版本
软件包 libc-client-2007f-16.el7.aarch64 已安装并且是最新版本
无须任何处理
amavis Installation failed
错误:amavis 安装失败,请检查是否使用全新 centos 7 系统安装。
这是啥意思啊 华为云centos7.6的系统
仅支持x86_64 的CentOS 7 ,你这个是ARM服务器
明白
其他都正常只有WebMail SSL/TLS连接 测试时不会显示绿色
WebMail TLS 是需要更换ssl证书的 也就是使用https 访问webmail 才可以设置 SSL/TLS连接
我用刚买的SSL泛域名证书测试了下 也是不行的
不知道你所指的ssl是不是普通的ssl证书
就是普通的域名ssl证书,你尝试备份 /mailbox/ssl/ 目录下的证书,然后把你的泛域名证书替换掉下面两个证书文件。
私钥:/mailbox/ssl/private.key
公钥:/mailbox/ssl/certs.crt
重启服务:systemctl restart postfix dovecot
另外 webmail 也做https 访问(重要),看看行不行,因为我这边测试它是正常的,很难凭空判断问题出在哪里。
域名证书务必包含完整证书链(CA证书、中间证书等等、、颁发机构提供的证书链必须要全部写入 /mailbox/ssl/certs.crt )
我使用的是你这边提供的地址 申请的泛域名
我现在也是这个情况,在https://freessl.cn/申请的泛域名证书,就是测试不行
部署官方版本可解决
我的这里面有教程,要实在不行就跟着我这个走一遍吧
无脑一键安装成功了,完美使用中,谢谢
听说博主是个美女,所以先收藏了
服务器已安装mysql,nginx时再安装此软件会有什么影响
MySQL会有影响,安装脚本检测到有安装MySQL 是会中止安装的,但是不无解决方案,可以备份当前自己安装的MySQL数据库资料再进行邮件安装,之后你可以把之前自己备份的数据库导入到邮箱系统安装的数据库中使用,又或者把邮箱的数据库导出到其它版本的MySQL数据库中运行都是可行的。nginx 则不受影响,它默认仅使用8000、8010 端口运行。你可以在vm虚拟机下安装一次了解下,和其它web 程序共存很容易的。
有没有已经安装MYSQL的情况下安装mailbox的脚 本啊😁
哈哈,成功了,把你脚 本安装数据库那段去了,改成直接在当前已安装mysql里面加入数据,这个邮箱web端还是我最喜欢的rainloop,我之前用的宝塔邮局,不会把它改成mysql,然后自助注册用户跟自助修改密码就很困难了,后面还是在rainloop找了个插件directadmin-change-password然后根据宝塔邮局的开放API修改实现了这些功能,有美女大佬这个mailbox感觉都简单了,非常感谢 ,膜拜,
棒棒棒!!!