Maddy – 最简单的邮件服务器搭建

/ 1评 / 0

Maddy是一款用Go语言开发的邮件服务器,它实现了运行电子邮件服务器所需的所有功能,简单来说,以前需要安装Postfix,Dovecot,OpenDKIM,OpenSPF,OpenDMARC等程序,现在一个搞定了,而且是统一的实现,最后还只有一个执行文件一个配置文件,可以说是简单到极致了.

当然开始之前你需要有一个域名,以及一个开放了25/143/465/587/993端口的VPS,如何测试端口是否开放可以简单用netcat试试.

nc -l 25

然后在ping.pe检查端口是否开放,只要有一个绿了就行,其他端口也是这么检测,大多数VPS服务器都没开放,所以要单独测试.

设计几个DNS记录.

这里仅供参考

rmail.taterli.cyou.	1	IN	A	168.235.86.178
rmail.taterli.cyou.	1	IN	MX	0 rmail.taterli.cyou.
_dmarc.rmail.taterli.cyou.	1	IN	TXT	"v=DMARC1; p=none; rua=mailto:admin@rmail.taterli.cyou"
rmail.taterli.cyou.	1	IN	TXT	"v=spf1 mx ip4:168.235.86.178/32 -all"

每条记录都有自己的作用,A记录为了给MX记录服务,当然后续也可以搭建一个邮箱面板,MX记录就是收信用,SPF记录和DMARC网上都很多解释了,不再重复,然后申请SSL证书,因为服务器上还有Nginx,那么Certbot肯定是最方便的.

先新建一个最简单的Nginx网站配置.

server {
    listen 80;
    server_name rmail.taterli.cyou;
}

然后certbot一下,以后就自动续期了,非常方便.

然后下载解压安装maddy.

apt -y update
apt -y install acl zstd wget certbot
wget https://github.com/foxcpp/maddy/releases/download/v0.7.0/maddy-0.7.0-x86_64-linux-musl.tar.zst
unzstd maddy-0.7.0-x86_64-linux-musl.tar.zst
tar -xvf maddy-0.7.0-x86_64-linux-musl.tar
cd maddy-0.7.0-x86_64-linux-musl/
mkdir /etc/maddy
cp maddy.conf /etc/maddy/maddy.conf
cp maddy /usr/local/bin/maddy
cp systemd/*.service /etc/systemd/system
useradd -mrU -s /sbin/nologin -d /var/lib/maddy -c "maddy mail server" maddy
setfacl -R -m u:maddy:rx /etc/letsencrypt/{live,archive}

上面一大串总体上就是下载这个软件,解压,复制到对应目录,创建邮件服务器用户,修改certbot证书目录权限.

现在修改配置文件(/etc/maddy/maddy.conf):

# ----------------------------------------------------------------------------
# Base variables

$(hostname) = rmail.taterli.cyou
$(primary_domain) = rmail.taterli.cyou
$(local_domains) = $(primary_domain)

tls file /etc/letsencrypt/live/rmail.taterli.cyou/fullchain.pem /etc/letsencrypt/live/rmail.taterli.cyou/privkey.pem

然后保存,启动并设置开机启动.

systemctl enable --now maddy.service

首次启动会生成DKMI密钥,路径在/var/lib/maddy/dkim_keys/[domain].

注意高亮部分,别漏了复制,每个人不一样,请不要抄作业.

把DKIM增加到自己DNS中.

服务器就部署好了,现在开始创建用户(creds)和本地储存账户(imap-acct).

maddy creds create admin@rmail.taterli.cyou
maddy imap-acct create admin@rmail.taterli.cyou

现在可以在客户端添加并管理他,如果还需要网页端,就自己部署一个就行,至于端口,都是常用端口.

写一个正常邮件测试下,RDNS不能匹配实在可惜,因为这个VPS也没法设置RDNS.

RDNS无法设置.

  1. wu sky说道:

    你好,这个邮件检测是咋实现的

发表回复

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