搭建以前,一定要确认自己的vps是否开通了25端口,以及是否可以设置rDNS,否则下面不用看了。我使用的racknerd的VPS,一年只需要10美元左右,符合搭建的要求,推荐大家在这家注册使用。
使用Maddy搭建邮箱服务挺方便,这里记录下,供以后再搭建时使用,注意将example.com换成自己的域名。
先设置二级域名,mx.example.com,A记录和AAAA记录分别指向服务器ipv4地址和ipv6地址。然后设置根域名(@)mx记录,指向mx.example.com
这里使用Maddy编译好的文件进行。先下载并解压缩(目前是0.5.4版本):
wget https://github.com/foxcpp/maddy/releases/download/v0.5.4/maddy-0.5.4-x86_64-linux-musl.tar.zst apt install zstd tar --use-compress-program=unzstd -xvf maddy-0.5.4-x86_64-linux-musl.tar.zst cd maddy-0.5.4-x86_64-linux-musl mv maddy maddyctl /usr/local/bin/ mkdir /etc/maddy && mv maddy.conf /etc/maddy/ mv systemd/*.service /usr/lib/systemd/system/ mv man/*.1 /usr/share/man/man1/ && mv man/*.5 /usr/share/man/man5/
运行tree命令,可以看到maddy目录结构很简单,主要是maddy和maddyctl两个可执行文件和maddy.conf配置文件
为Maddy程序添加一个单独的用户并且授予权限:
useradd -mrU -s /sbin/nologin -c "maddy mail server" maddy chown -R maddy:maddy /usr/local/bin/maddy* /etc/maddy
获取证书,需要先停止占用80端口的程序,比如nginx:
apt install snapd snap install --classic certbot certbot certonly --standalone --preferred-challenges http -d mx.example.com apt install acl mkdir -p /etc/maddy/certs mkdir -p /etc/maddy/state mkdir -p /etc/maddy/runtime mkdir -p /etc/maddy/log chown maddy:maddy /etc/maddy -R setfacl -R -m u:maddy:rX /etc/maddy/certs/ setfacl -R -m u:maddy:rX /etc/letsencrypt/{live,archive} cd /etc/maddy/certs ln -s /etc/letsencrypt/live/mx.example.com
接下来配置下Maddy:
nano /etc/maddy/maddy.conf
修改以下内容:
$(hostname) = mx.example.com $(primary_domain) = example.com $(local_domains) = $(primary_domain)
添加以下内容:
state_dir /etc/maddy/state runtime_dir /etc/maddy/runtime log syslog /etc/maddy/log/maddy.log
保存,退出。
创建用户和对应的密码:
maddyctl creds create [email protected] maddyctl imap-acct create [email protected]
启动maddy服务:
chown maddy:maddy /etc/maddy -R service maddy start
这时候就可以使用thunderbird或者需要smtp服务的程序等工具连接邮箱了。
为了避免邮件进入垃圾邮箱,域名还需要进行配置:
新建一个根域名(@)的TXT记录,值为v=spf1 mx ~all 新建 _dmarc 的TXT记录,值为 v=DMARC1; p=quarantine; ruf=mailto:[email protected] 新建 default._domainkey 的TXT记录,值为 /etc/maddy/state/dkim_key/example.com_default.dns 文件的内容,类似于 v=DKIM1; k=rsa; p=MII...AB 最后要到VPS主机商那里,设置下rDNS记录,指向mx.example.com,这一步很重要,我使用的racknerd的vps,一年才10美元左右,可以发ticket让客服将rdns指向你的mx.example.com,一般5分钟左右就能设置好。
这样一来,邮件不会进垃圾箱了。
设置maddy开机启动:
systemctl enable maddy
更多命令可以使用 maddyctl command -h 查看,比如执行 maddyctl creds -h 可以看到:
maddyctl creds list 列出当前所有用户 maddyctl creds create [email protected] 创建用户 maddyctl creds remove [email protected] 删除用户 myaddyctl creds password [email protected] 修改密码
升级Maddy,将新版本的maddy下载下来,将maddy和maddyctl拷贝到下面目录即可
systemctl stop maddy mv maddy maddyctl /usr/local/bin/
Start the discussion at eijil.com