前言
这里的Maddy是Maddy Mail Server,一款可组合的多合一邮件服务器系统,作为邮局服务端;Roundcube是一款基于 Web 的多语言 IMAP 邮件客户端,通常通过浏览器访问。它利用 PHP 编写,并提供一整套电子邮件客户端的功能。以下内容所提及的example.com需自行替换为你自己的域名。
准备工作
一个域名
一台开放了25端口的公网服务器
已安装docker(推荐使用1panel面板,安装命令在下面)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
检查25端口
如果服务器安装了ufw等防火墙软件,请提前放行25、143、993、465、587端口
在终端运行以下命令:
telnet smtp.qq.com 25
如果长时间没有响应或提示超时,说明被监测端口的出站方向没有开放。提示可能会类似下面:
Trying 14.18.175.202...
Trying 183.47.101.192...
Trying 2408:8756:2cf2:19::11...
telnet: Unable to connect to remote host: Network is unreachable
如果提示类似如下,说明您的服务器的出站方向25端口已经成功开放:
Trying 203.205.232.7...
Connected to smtp.qq.com.
Escape character is '^]'.
220 newxmesmtplogicsvrszb6-0.qq.com XMail Esmtp QQ Mail Server.
部署Maddy Mail Server
快速安装
1panel应用商店搜索maddy,点击安装,如下图,其中勾选开放端口访问,域名修改为你自己的。
配置域名证书
如果你已有泛域名证书可直接使用,若无则需手动申请证书,这里推荐使用1panel自带的证书申请服务,其他地方申请的证书一样可用,证书需要包含上一步填写的两个域名。可以是包含这两个域名的证书,也可以是泛域名证书。然后将证书文件:fullchain.pem 密钥文件:privkey.pem放置在/var/lib/docker/volumes/maddydata/_data/tls
目录下,1panel可直接勾选推送证书到本地目录
获取DKIM值
上述步骤完成后重启容器,当容器正常运行后,在/var/lib/docker/volumes/maddydata/_data/dkim_keys路径下会有个像这样的example.com_default.dns的文件。
打开文件,全选复制里面的所有内容,留作备用
添加解析
如果服务器为IPV4&IPV6双栈,则都解析即可,若无则只解析IPV4即可
创建邮箱用户
下面命令均在容器终端运行
docker exec -it maddy sh
(这里maddy为容器名称)
创建登录账户,运行此命令后会让设置密码
maddy creds create admin@example.com
创建存储账户
maddy imap-acct create admin@example.com
可以查看账户列表
maddy creds list
maddy imap-acct list
查看账户下的邮箱分类
maddy imap-mboxes list admin@example.com
测试收信并在客户端上面配置
使用其他邮箱如QQ邮箱、谷歌邮箱向你上面创建的admin@example.com发送邮件,然后回到容器终端运行命令查看收件箱。
maddy imap-msgs list admin@example.com INBOX
配置客户端,以小米手机系统自带的邮件应用为例,其他客户端同理,替换为自己的邮件服务器域名,均勾选SSL
部署Roundcube
快速安装
1panel商店搜索roundcube,需要提前安装好Mysql,参数参照下图填写
反向代理
这个可以直接使用1panel网站创建反向代理,地址填写http://127.0.0.1:端口,上图中我使用的端口是8585
登录邮箱
访问上面部署好的Roundcube,然后输入
admin@example.com
创建用户时输入的密码
查看邮件得分
开源地址
foxcpp/maddyGithub
✉️ Composable all-in-one mail server.
https://maddy.email
Star: 5249 Fork: 259 Lang: Go Branch: master
roundcube/roundcubemailGithub
The Roundcube Webmail suite
https://roundcube.net
Star: 6009 Fork: 1648 Lang: PHP Branch: master
参考文章
https://www.nodeseek.com/post-17594-1
https://www.nodeseek.com/post-140032-1