简介

MailBox 是基于Linux的开源程序集成的邮箱系统,高度集成了众多优秀稳定的组件,使用高标准安全协议,是一个快速部署、简单高效、多语言、安全稳定的邮件解决方案,节省维护成本,兼容各大主流的邮件客户端。

开源组件

开源组件列表
Postfix:2.10.1 (邮件服务器SMTP)官网
Dovecot:2.2.36 (IMAP/POP3/邮件存储)官网
ClamAV:0.102.4 (反垃圾和反病毒)官网
SpamAssassin:3.4.0(邮件过滤)官网
Fail2ban:(安全监控策略) 官网
Nginx:1.18.0 (web 服务)官网
PHP:7.2.32 (网页解析)官网
MariaDB:5.5.65 (数据库)官网
EwoMail-Admin:1.06(邮箱用户管理系统)开源地址
Rainloop:1.14.0 (网页邮件)官网

安装要求

MailBox邮件系统通过脚本方式在线部署,请确保你的服务器允许访问网络。
为了避免安装出错,请使用干净的 CentOS 7 系统进行安装。

开放端口:8000801025143993995587110465
对于腾讯云、阿里云服务器,需在服务器后台单独申请开放25端口方可正常使用邮件服务。

腾讯云解封25端口:控制台 → 安全监管(头像处) → 25 端口解封
阿里云解封25端口:参考链接 https://developer.aliyun.com/article/701303

服务器性能要求
最低配置:1核 2G RAM
推荐配置:4核 4G RAM 或更高

开始安装

操作顺序:域名解析 → 安装 MailBox → DKIM 设置

请按照以下表格添加域名解析记录,127.0.0.1替换成你的服务器IP地址,baidu.com替换成你的域名地址。

主机记录记录类型记录值MX
mailA127.0.0.1
@MXmail.baidu.com5
@TXTv=spf1 mx -all
imapCNAMEmail.baidu.com
smtpCNAMEmail.baidu.com
popCNAMEmail.baidu.com
pop3CNAMEmail.baidu.com
_dmarcTXTv=DMARC1; p=none

通过终端使用 root 用户执行安装指令,安装程序提示键入 域名地址 即可快速完成安装!

bash -c "$(curl -sS https://www.cooluc.com/mailbox-install.sh)"

安装
安装
完成安装
完成安装

DKIM 是电子邮件验证标准 —— 域名密钥识别邮件标准。

使用命令获取 dkim key

amavisd -c /etc/amavisd/amavisd.conf showkeys

获取 dkim key
获取 dkim key

拷贝 dkim key 内容后,前往 DKIM 整理站点生成标准的 DKIM TXT 解析记录值

dkim 整理
dkim 整理

根据整理后输出信息,前往域名解析处添加 DKIM 域名记录值即可!

DNSPod域名解析示例
DNSPod域名解析示例

到此,MailBox 邮箱系统已经完成安装与配置!

使用方法


登录后台

根据安装完成提示信息,进入后台管理页面

登录地址:http://mail.domain.com:8010/
默认账户:admin
默认密码:www.cooluc.com

后台管理

登录后,请马上修改默认密码!

添加邮箱账户

邮箱管理 → 添加邮箱

添加邮箱地址 admin@baidu.com,设置密码后 保存,即可完成添加。
添加邮箱账户


MailBox 配备 Rainloop 开源网页邮件客户端,进入 http://mail.domain.com:8000/ 登录即可使用。
登录账号为管理后台所添加的邮箱账户。



修改后台初始密码

邮箱账户管理后台 (EwoMail-Admin) & 网页邮箱后台 (Rainloop) 均为固定默认账号密码,请务必登录后台进行密码修改

邮箱账户管理后台地址:http://mail.domain.com:8010/
网页邮箱后台地址:http://mail.domain.com:8000/?admin

默认账号:admin
默认密码:www.cooluc.com

请务必修改以上两个后台密码!

设置 MySQL root密码

MailBox 安装程序不设置MySQL root密码,默认为空密码,需自行进行初始 root 密码设置

使用终端执行命令行设置 MySQL root密码

mysqladmin -u root -p password 123456

123456 换成你要设置的密码,过程中会提示 Enter password: ,由于root密码为空,直接回车即可完成设置。

MailBox 兼容各大主流邮件客户端,设置方法大同小异,这里仅演示win10、iPhone 邮件客户端添加 MailBox 邮箱方法

Windows10 邮件

打开win10 邮件,添加账户 - 高级设置

Internet 电子邮件

填写邮件用户名、密码

传入电子邮件服务器:mail.domain.com
账户类型:IMAP4
传出(SMTP)电子邮件服务器:smtp.domain.com

完成登录

iPhone 邮件

依次打开 设置 - 邮件 - 账户 - 添加账户 - 选择其它

添加邮件账户

填写账户信息 - 下一步

填写主机名、用户名、密码

收件服务器
主机名:mail.domain.com

发件服务器
主机名:smtp.domain.com

信息填写完毕后,点击下一步进行验证,验证通过即可使用。



维护相关

更新 ClamAV 病毒库

默认情况下,系统会定期进行病毒数据库检查更新,但由于国内网络原因,失败率非常高。

使用终端执行病毒数据库更新命令

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_user.conf 文件查看 mailbox MySQL用户密码 dbpassword=,使用以下命令导出数据表

mysqldump -umailbox -p密码 mailbox > mailbox.sql

数据还原

邮件目录恢复:把备份的 mail 文件夹覆盖回 /mailbox/mail 目录上,使用以下命令赋予权限

chown -R vmail.vmail /mailbox/mail

数据库恢复:使用命令导入数据库备份文件

mysql -umailbox -p密码 mailbox < mailbox.sql  # mailbox.sql 为之前备份的数据库文件,如果文件不在当前目录,请指定文件绝对路径

如果是重新安装后恢复数据,当前 mailbox MySQL 用户密码一样通过 /mailbox/default_user.conf 文件获得。

目录与数据库恢复完成后,重启服务生效

systemctl restart dovecot

重启服务

单个服务重启

systemctl restart nginx@mailbox
systemctl restart php-fpm@mailbox
systemctl restart mariadb.service
systemctl restart dovecot
systemctl restart postfix

一键重启服务

systemctl restart mariadb.service php-fpm@mailbox nginx@mailbox postfix dovecot

systemctl 命令行

systemctl stop -停止服务
systemctl restart -重启服务
systemctl reload -重载服务

更换邮箱SSL证书

MailBox 安装程序会根据你的域名生成泛域名证书,由于属于自签证书,无法得到网络的认可,但是不影响正常使用邮件服务,如果在相关机构申请了授信证书,可以通过以下方法更换。但是,如果不清楚自己在做什么,请勿修改此项任何内容,否则可能导致邮箱系统无法 发送接收 邮件。

MailBox SSL/TLS 证书位于:/mailbox/ssl/ 目录

私钥:/mailbox/ssl/private.key
公钥:/mailbox/ssl/certs.crt

DH密钥交换(请勿修改此文件):/mailbox/ssl/dh2048/dhparam.pem

更换证书后,通过以下命令重启服务使其生效

systemctl restart postfix dovecot

配置 WebMail HTTPS 访问

配置 WebMail HTTPS 访问于对网页邮件操作进行加密传输,有利于数据保密。

域名证书申请

配置 https 访问需要准备一个授信的 SSL 域名证书,可以到 免费申请或使用已有证书。

签署的域名:mail.domain.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.domain.com; # mail 二级域名地址
  root /mailbox/www/rainloop/;
  index index.html index.htm index.php;
  charset utf-8;

  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 127.0.0.1:9000;
  }
}

修改后台内部跳转地址

编辑文件:/mailbox/www/admin/core/config.php

'webmail_url' => 'http://mail.domain.com:8000', 修改为 'webmail_url' => 'https://mail.domain.com', 保存即可。

重启 nginx 服务器生效 https

systemctl restart nginx@mailbox

设置 WebMail SSL/TLS 连接

登录 RainLoop 后台面板:http://mail.domain.com/?admin

点击域名 - 点击自己的域名,IMAP和SMTP 加密选择为 SSL/TLS,点击测试,IMAP和SMTP 字体变为绿色则成功,点击更新按钮完成操作!

上述 mail.domain.com 均换成自己的域名

减少 clamd 进程内存占用

ClamAV 杀毒监控程序可能会消耗系统很大的内存资源,如果你使用微型服务器配置可以通过以下方法禁用ClamAV,释放更多可用 RAM 资源。

终端执行以下命令

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

如果服务器内存足够,建议保留 ClamAV 服务。

设置rDNS(可选)

反向DNS查找或者反向DNS解析(rDNS)用于判定一个域名与指定IP是否互相关联。有些公司例如AOL会拒绝没有进行反向解析的发件服务器发出的所有消息,在一个IP地址上你只能关联一个域名。

rDNS 为可选设置项,国内全邮箱平台可正常进入收件箱

rDNS 需要在 ISP(服务提供商)或 运营商进行设置,国内服务器大部分不提供 rDNS 设置渠道。

如果你有权设置 rDNS,请把 IP地址 反向解析到 mail.domain.com (domain.com为自己的域名)上即可!

卸载 MailBox

MailBox 支持无残留卸载,卸载后可在同一个系统上再次安装或当安装前系统环境一样使用,执行以下命令行即可卸载!

bash -c "$(curl -sS https://www.cooluc.com/mailbox-install.sh)"

选择 2 进行卸载。

注意:卸载 MailBox 后,邮件数据将永久销毁无法还原,如有重要邮件数据,请注意备份后操作!

界面截图

管理员后台管理 EwoMail-Admin

登录界面
登录界面
主界面
主界面
用户添加
用户添加
邮箱列表
邮箱列表
管理员列表
管理员列表
系统设置
系统设置
管理员添加
管理员添加
角色添加
角色添加
操作日志
操作日志

网页邮件 Rainloop

登录
登录
邮件编辑
邮件编辑
设置
设置
主题设置
主题设置
收件
收件
添加联系人
添加联系人

最后修改:2020 年 08 月 23 日 05 : 46 AM
如果觉得我的文章对你有用,请随意赞赏