前言

这里的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即可

名称类型内容
default._domainkeyTXT上一步获取的DKIM值
mailA服务器IPV4
@A服务器IPV4
mailAAAA服务器IPV6
@AAAA服务器IPV6
@MXmail.example.com
mailTXTv=spf1 mx ~all
@TXTv=spf1 mx ~all
_dmarcTXTv=DMARC1; p=quarantine; ruf=mailto:admin@example.com
_mta-stsTXTv=STSv1; id=1
_smtp._tlsTXTv=TLSRPTv1;rua=mailto:admin@example.com

创建邮箱用户

下面命令均在容器终端运行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
创建用户时输入的密码

查看邮件得分

测试你发出邮件的垃圾邮件匹配度

开源地址

Loading...

Loading...

参考文章

https://www.nodeseek.com/post-17594-1
https://www.nodeseek.com/post-140032-1

🏷本文标签:Docker,️1Panel,️Mail,️Maddy
最后修改:2024 年 07 月 31 日
如果觉得我的文章对你有用,请随意赞赏