跳至正文

NAS 邮件服务器折腾记:Synology MailServer + hkras.com 全配置

背景

折腾了好几天,终于把 NAS 上的邮件服务器搞定了。设备是 Synology DS420+,系统 DSM 7.3.2,用的是自带的 MailServer v1.7.7(旧版套件,不是 MailPlus)。域名绑的是 hkras.com

这篇文章把所有踩过的坑和最终配置全部记录下来,主要是给未来的自己留个底。

服务架构

MailServer 套件底层是 Postfix(SMTP)+ Dovecot(IMAP),用 DSM 账号做 PAM 认证——也就是说 DSM 的用户名/密码直接就是邮箱账号密码,不需要单独建邮件账号。

服务端口状态
SMTP25✅ 运行中
IMAP143✅ 运行中
IMAPS993✅ 运行中

最大的坑:imap_enabled 默认是 “no”

这个坑卡了我最久。现象是 Dovecot 进程跑着,端口 143 也监听着,但就是连不上——因为它只绑定了 localhost:143,外部完全进不去。

根因在 /var/packages/MailServer/etc/mailserver.conf,里面默认是这样的:

imap_enabled="no"

改成 yes 就好了:

imap_enabled="yes"
imaps_enabled="yes"
smtp_enabled="yes"
smtp_hostname="hkras.com"
canonical_domain="hkras.com"

为什么不能直接改 Dovecot 的配置文件?因为 MailServer 有个 DaemonConfSet.sh 脚本,每次服务重启都会根据 mailserver.conf 重新生成配置,手动改的东西全部会被覆盖。只有改 mailserver.conf 才是正道。

其他踩过的坑

坑1:以为装的是 MailPlus-Server

前半段一直在翻 /var/packages/MailPlus-Server/ 的路径,结果全是 Not Found。后来用 synopkg list 确认,装的是 MailServer,根本不是 MailPlus-Server。教训:先确认包名再操作。

坑2:Maildir 目录不存在

SMTP 发信成功,收件箱却空的。因为用户家目录下没有 .Maildir/,Postfix 投递失败但静默丢弃,没有任何报错。

sudo mkdir -p /var/services/homes/openclaw/.Maildir/{cur,new,tmp}
sudo chown -R openclaw:users /var/services/homes/openclaw/.Maildir/

坑3:sudo -S 把 heredoc 吃掉了

用 sudo tee 配合 heredoc 写测试邮件文件,结果文件里只有 9 个字节。原因是 sudo -S 从 stdin 读密码,把 heredoc 的内容全吃掉了。改用 Python 直接写文件就没问题了。

服务重启命令

# 停止
sudo /var/packages/MailServer/scripts/start-stop-status stop

# 启动
sudo /var/packages/MailServer/scripts/start-stop-status start

还没做的事

  • 路由器端口映射(25 / 143 / 993 → NAS)
  • hkras.com 的 MX / SPF / DKIM DNS 记录
  • 587 提交端口
  • SSL 证书配置(IMAPS 993)

总体来说这套老版 MailServer 能用,认证简单,用 DSM 账号直接登录很方便。就是文档少、坑多,踩过来了倒也还好。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注