返回首页
剪藏#剪藏#又是风敲竹

用群晖MailPlus搭建自己域名的邮件服务

2026 年 7 月 26 日1 分钟

上一篇文章群晖MailPlus的优点讲了笔者日常使用时的几个体会。好用是好用,但仅限于通过POP3和SMTP协议将MailPlus作为聚合统一收发工具。有网友评论区问,如何用MailPlus搭建自己域名的邮件服务呢?这几天花了点时间走通了,把方法分享给大家。

前提条件:

  1. 一个自己的域名。我在阿里云上买了一个。

  2. 一个公网IP地址。我同样在阿里云上99元买了一个2核2GB内存3M带宽的ECS。

大概步骤如下,后面有进一步解释:

  1. NAS上在MailPlus Server里配置自己的域名。

  2. 在域名上配置解析。

  3. 云服务器上配置流量中转服务。

  4. NAS上配置流量中转客户端。

  5. 在阿里云邮件推送服务平台上配置发件账号。

  6. 在MailPlus Server那里配置邮件投递的中继设置。

先声明下,整个配置过程涉及细节较多,我尽可能把重要的环节记录下来,难免疏漏,大家按步骤多试试,不清楚的可以在评论区讨论,也可以问问AI(我就是这么搞通的),总会成功。本文针对的是没有公网IP地址的情况,比如笔者家里装的是移动宽带,就没有公网IP(移动宽带是一个巨大的NAT网络)。如果你有公网IP地址,那恭喜你,配置非常简单,就只需要做前两步即可(不过你家里的路由器上可能需要配置一些端口映射)。

特别需要注意的是,没有公网IP地址的时候,不能从NAS上直接往外发邮件,会极大概率被对方邮件服务器识别为垃圾邮件,丢垃圾桶甚至直接删除。

假设你的域名是example.com,第1步,配置MailPlus Server。

Notion image

如上图将自己的域名填进去。用户那里添加你允许的账户,例如你给自己分配了一个叫[email protected]的邮箱:

Notion image

第2步,配置域名解析,添加下面这些解析:

  1. 一条A类型,mail.example.com,指向你的公网IP地址,我这边配置成指向购买的ECS公网IP地址。

  2. 一条MX类型,主机记录:@,记录值:mail.example.com。

  3. 三条TXT类型:

DKIM公共密钥在MailPlus Server里,在域名配置那里点击“高级设置”就能看到,如下图把它拷贝下来,填到主机记录里:

Notion image

第3步,ECS上配置中转服务,我们用frp。下载frp后,在ECS上运行服务端frps,配置如下:

JAVASCRIPT
# frps.toml
bindPort = 7000
auth.method = "token"
auth.token = "你的强密码"

然后用下面的命令运行:

JAVASCRIPT
nohup ./frps -c frps.toml > frps.log 2>&1 &

nohup是为了让frps能以后台进程的方式一直运行。

阿里云安全组配置如下:

  1. TCP 7000 → 来源 NAS 公网出口 IP/32(不要对 0.0.0.0/0 开放)

  2. TCP 25, 993, 995, 443 → 来源 0.0.0.0/0

第4步,NAS上配置流量中转客户端,使用frpc,配置如下:

JAVASCRIPT
# frpc.toml
serverAddr = "47.96.67.98"
serverPort = 7000
auth.method = "token"
auth.token = "你的强密码"

[[proxies]]
name = "smtp-25"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25
remotePort = 25

[[proxies]]
name = "imaps-993"
type = "tcp"
localIP = "127.0.0.1"
localPort = 993
remotePort = 993

[[proxies]]
name = "pop3s-995"
type = "tcp"
localIP = "127.0.0.1"
localPort = 995
remotePort = 995

[[proxies]]
name = "webmail-443"
type = "tcp"
localIP = "127.0.0.1"
localPort = 443
remotePort = 443

最好用Docker运行frpc,我偷懒直接命令行脚本运行了,然后通过计划任务让NAS每次启动时自动运行这个脚本。

第5步,配置阿里云邮件推送服务。前面说了,如果你没有公网IP地址,不能直接从你的NAS上往外发邮件,很容易被对方邮件服务器识别为垃圾邮件。怎么办呢?刚好阿里云有一个邮件推送服务,每个账号每天有2000封邮件的额度可以发,一般用用足够了,地址:dm.console.aliyun.com。

发信域名那里按照提示将自己的域名添加并验证通过。然后在发信地址那里新建发信地址。注意发信类型选择“触发邮件”。然后设置好SMTP密码:

Notion image

最后一步,第6步,回到MailPlus Server,配置邮件投递的中继服务:

Notion image

注意,阿里云邮件推送服务的端口是80,这个不要搞错!

好了,顺利的话到这里你就可以登录MailPlus客户端网页用[email protected]收发邮件了:

Notion image

如果就自己用的话,到这里就搞定了。但是如果你想给NAS其他用户也分配自己域名的邮箱,例如[email protected],该怎么办呢?

如果只在MailPlus Server上配置是不够的,因为阿里云邮件推送服务会严格校验发件人地址是否在已知的发件人列表中(还记得第5步里我们只配了[email protected]吗?),如果不在,则直接拒绝,用[email protected]发出去的邮件就会卡在本地发送队列里,对方收不到。

解决办法分两步:

第一步,在阿里云邮件推送管理网页上再配一个发件地址:

Notion image

第二步,在MailPlus Server上添加一个中继例外规则:

Notion image

这样当用[email protected]发邮件时,该条中继例外规则就会被命中,MailPlus Server就会用专用的阿里云邮件推送服务账号来发送。

每分配一个新的自己域名的邮箱都需要按照上述两步配置一下。

好了,在MailPlus Server上配置自己域名的邮箱服务就介绍到这里,你配置成功了吗?

原文地址: https://mp.weixin.qq.com/s?__biz=MjM5MDI3ODI4MA==&mid=2247484075&idx=1&sn=e627e54f51939ad99f9c895e40677f09&chksm=a7b8b64c519fd3894fd244b6de7073c7f35d40fc9d6dae2e149c1deb0b348d53d52446b72621&mpshare=1&scene=1&srcid=0727frnsjkD7Jt7tGDG9dbp5&sharer_shareinfo=5fbdd76a872fd99e976e99b6955ab828&sharer_shareinfo_first=5fbdd76a872fd99e976e99b6955ab828#rd

分享Twitter / XTelegram微博

相关文章