0. 前言
拥有自己的域名邮箱后缀,想必很多人都会觉得很有意义。只要域名不过期,域名后缀的邮箱就一直可以使用。
iRedMail 是一个免费、开源的项目,是成熟的邮件服务器系统,它拥有优秀的性能,全面实用的功能,且搭建方便、社区支持良好。今天我们介绍在 Debian 11 64 bit操作系统中安装并配置iRedMail邮件服务器系统,实现域名邮箱、垃圾邮件过滤、病毒查杀等等实用功能。
官方网站:https://www.iredmail.org/
项目介绍:https://github.com/iredmail/iRedMail
官方文档:https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html
1. 前期准备
1、准备一个域名,本文将以 mail.hiir.cn 为例。通常,我们会使用 mail.example.com 或者 mx.example.com 设置为邮件服务器域名。
2、域名做好 DNS 解析,推荐使用Cloudflare。本文后续以 Cloudflare 为例,腾讯 DNSPOD 等参考执行。解析的记录为 A,IP 为 VPS 的公网 IP ,关闭小云朵。
3、一个带有至少 1GB 内存的 VPS 。
4、后台重装 Debian 11 64bit 系统。
2. 前期测试
⭐这里可以提前设置以下rDNS,具体的作用后面会讲到。本文是用 GreenCloud 家的VPS,设置 rDNS 需要发工单让客服帮忙设置。如果你是 Bandwagon Host(搬瓦工)家的 VPS,可以在 kiwi 面板里直接设置 rDNS。给绿云发如下的工单,客服就会帮你设置好 rDNS,附工单模板。
Hello,
Please help me set up rDNS record on the VPS (GreenCloud.163791xxxxx, IP:xxx.xxx.xxx.xxx).
Domian: mail.geektech.top
Thanks.
客服回复过后,说明rDNS设置完毕,这个时间大概是十几分钟到半小时不等。
VPS 的 25 端口是邮件服务收发邮件的端口,需要开启 25 端口,服务器才能正常收发邮件。
在安装 iRedMail 之前,需要确保的 VPS 的 25 端口是开放的。我们可以使用以下命令来测试 25 端口是否开放。
telnet smtp.aol.com 25
如果看到类似下面的返回值,则说明端口是开放的:
Trying 67.195.228.102...
Connected to smtp.aol.com.
Escape character is '^]'.
220 smtp.mail.yahoo.com ESMTP ready
如果显示超时,说明25端口不开放。正常情况下,国外的 VPS 主机是开放 25 端口的,国内的主机是不开放25端口的。本教程采用的 GreenCloud 的 VPS 默认是开启25端口的。
3. 设置主机名(Hostname)
设置好主机名(服务器名, Hostname)是所有邮件服务器必不可少的一步,否则在发信时将会遇到各种错误。
假如你的域名为 domain.com,那么推荐使用的主机名为 mail.domain.com 或者 mx.domain.com。
设置主机名之前,我们先更新下系统及安装组件:
apt update -y
apt install wget curl sudo tar socat dnsutils -y
设置主机名需要编辑 /etc/hosts 文件,一般是有 127.0.0.1 那个就是你的主机地址,就修改这里即可,如果没有,则添加一行。内容如下:
127.0.0.1 mail.geektech.top mail
其中, 127.0.0.1 可换为你的服务器 IP 地址,后面依次填入长主机名和短主机名,切记不可填反。
然后,我们找到 VPS 的 /etc/hostname 文件,编辑里面的内容为 mail(域名的前缀)。
设置好主机名,输入以下命令来重启主机:
reboot
此时我们检查一下是否设置正确。首先,执行:
hostname
此时我们应该只能看到短主机名 mail . 如果你看到了长主机名 mail.geektech.top 说明之前设置错误,请重新检查上述步骤。如果显示正确,继续执行:
hostname -f
此时,我们应该只能看到长主机名 mail.geektech.top。
4. iRedMail 搭建
1、截至目前,目前iRedMail 的最新版本为1.5.0,iRedMail 最新版查询:
2、在VPS上安装 iRedMail(注意,根据上面网址,查询以后自行修改为最新版本)
wget https://github.com/iredmail/iRedMail/archive/1.5.0.tar.gz -O /root/iRedMail.tar.gz
tar -xf iRedMail.tar.gz
cd iRedMail-1.5.0
chmod +x iRedMail.sh
bash iRedMail.sh
3、系统开始安装,每一个步骤图如下,根据图就行相应的设置。
可以保持默认的 /var/vmail
这里需要选择是否安装Web服务器。建议安装Nginx,服务器才可以正常的首发邮件,不然只能接收邮件。 按回车键进入下一步。
这里选择使用的数据库,可以选择比较简单的 MariaDB。用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。
这里为 MariaDB设置 root 用户密码,输入完毕后按回车继续。
这里设置第一个发信域名。如果你的邮件服务器域名为 mail.geektech.top 那么这里可以设置为 geektech.top。点击回车确定以后进入下一步,输入密码,然后确定。(千万牢记,若你的域名为 domian.com, 则管理员邮箱地址为postmaster@domian.com)
默认选择Roundcubemail + netdata + iRedAdmin + Fail2ban即可
设置完毕后,输入y确认安装。其余的步骤一路选择y即可。
iRedMail 安装好以后,我们需要重启服务器让服务生效,输入
reboot
iRedMail 后台登录信息如下:
https://你的域名/mail ——邮件登录地址
https://你的域名/netdata ——服务器状态监控
https://你的域名/iredadmin ——邮件服务器后台管理 管理员账号:postmaster@你的域名 例如:postmaster@geektech.top
管理员密码:安装时候设置的密码
5. 配置 SSL 证书
为域名配置免费的Let’s Encrypt证书。
1、使用 acme 脚本来申请证书,申请证书前在 Cloudflare 上面做好域名解析,让域名和你的服务器 IP 对应起来。本次服务器域名设置为 ,以下命令中的域名请自行替换。
~/.acme.sh/acme.sh --register-account -m mail.geektech.top
~/.acme.sh/acme.sh --issue -d mail.geektech.top --webroot /var/www/html
~/.acme.sh/acme.sh --installcert -d mail.geektech.top --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt
2、重启服务,让服务生效。
service postfix reload;service dovecot reload;service nginx reload
6. 禁用 iRedMail 灰名单
找到路径,/opt/iredapd/settings.py 打开路径种的 settings.py 文件,找到文件中的如下行
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
将其中的”greylisting”这项删去即可。然后,重启iredapd。
service iredapd restart
7. 配置域名 DNS 及解析
1、设置 rDNS
在前面已经工单设置过,当你做到这一步的时候,应该商家在后台已经给你设置完成,我们一会儿再进行检查。
⭐对于其他商家的 VPS ,请自行查阅。目前我所用的 VPS 中,搬瓦工(Bandwagon Host)、 Cloudcone 可以在后台自行设置 rDNS。
检测方式:nslookup XXX.XXX.XXX.XXX(服务器IP)
2、设置 MX 记录
MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址,优先级为 10
检测方式:nslookup -type=mx geektech.top
3、设置 SPF 记录
设置方式为添加一条根域名的 TXT 解析记录,内容为 v=spf1 mx ~all
检测方式:nslookup -type=txt geektech.top
4、设置 DKIM 记录
找到路径,/root/iRedMail-1.4.2/iRedMail.tips ,打开路径种的 iRedMail.tips 文件,里面有 DKIM:
将括号内的文本 去除引号以及空格并相连 就是 DKIM 数据,在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是组合出的文本
测试方式:nslookup -type=txt dkim._domainkey.geektech.top
5、设置 DMARC 记录
增加一条 _dmarc
的 TXT 解析,内容为配置选项,v=DMARC1; p=none; pct=100; rua=mailto:dmarc@geektech.top
检测方式:nslookup -type=txt _dmarc.geektech.top
8. 添加 iRedMail 用户
登录第4步中的网址,进行 iRedMail 用户设置,记住在登录时可以选着语言,选简体中文,后续的设置就很简单了,自行设置完成即可。
域名邮箱搭建完成,尽情使用吧