未分类 · 2023年 1月 30日 0

企业级邮件服务器、域名邮箱自建,iRedMail 企业级邮件系统搭建、配置、优化教程

用自己的域名作为邮箱的后缀,好看、有面子!只要域名不过期,那么,你的邮箱就永远存在!

免费的企业邮局,首选当然是免费、开源的 iRedMail。

邮件系统很多,宝塔自带的邮局更是简单,但是若想邮箱可靠(丢邮件、发送邮件进入对方垃圾箱等),还是需要花费一点功夫。

首先 VPS 支持 PTR 反向解析,尤为重要,当然,也不是必须的,看你自己的取舍,若是没有 PTR ,会存在丢失邮件的情况。

相关知识普及:

在邮件的交换记录中,有 A记录 和 PTR记录 两种,A记录大家应该是耳熟能详了,我们每天搭建服务、解析域名到 IP,用的就是 A记录,我们称为正向解析,用来映射域名到 IP

而 PTR记录,则是相反的,所以也被我们成为反向解析,他是用来把一个 IP 映射到域名。

接下来,我们一起配置这款得分满分的邮件服务器。

iRedMail 支持的系统

准备工具

1、干净的 VPS 一台,内存最好大于1.5GB,以下教程用 Ubuntu 演示,CentOS 请自行更换 APT 命令即可。

2、VPS 最好支持 PTR Records

3、域名一个,推荐托管 cloudflare (解析生效快)

4、规划好作为邮件服务器的域名,演示用 mail.ssyyy.com,把该域名解析到 VPS IP。

搭建 iRedMail 邮件服务器

设置 VPS 以及系统

更新系统、安装组件

apt update -y
apt install wget curl sudo vim git ufw -y

设置 VPS 主机名

我们规划邮局的域名为 mail.ssyyy.com ,所以,我们需要对 VPS 的主机名进行设置。

首先,需要编辑 /etc/hosts 文件,找到含有你的 VPS IP 地址的那一行;如果没有,则添加一行。内容如下:

127.0.0.1 mail.ssyyy.com mail

其中, 127.0.0.1 可换为你的服务器 IP 地址,后面依次填入长主机名和短主机名,切记不可填反。

然后,我们找到 VPS 的 /etc/hostname 文件,编辑里面的内容为 mail (域名的前缀)

这样,就设置好了主机名。重启 VPS

此时我们检查一下是否设置正确:

执行:hostname

此时我们应该只能看到短主机名 mail. 如果你看到了长主机名 mail.ssyyy.com , 说明之前设置错误,请重新检查上述步骤。

执行:hostname -f

此时,我们应该只能看到长主机名 mail.ssyyy.com

这样,我们就全部设置好了主机名(hostname), 可以进行接下来的其他操作了

下载并安装 iRedMail

作者写这篇博文的时候,iRedMail 的最新版为 1.6.2,若是版本进行了更新,请大家自行修改下面命令中的版本号。

iRedMail 最新版下载:点击查看最新版

wget https://github.com/iredmail/iRedMail/archive/1.6.2.tar.gz -O /root/iRedMail.tar.gz
tar -xf iRedMail.tar.gz
cd iRedMail-1.6.2
bash iRedMail.sh

按照提示进行安装:yes

不安装,请按 Ctrl-C

设置安装目录:默认

选择 web服务器:nginx

选择数据库类型:MariaDB

设置数据库密码:XXXXXX

设置域,不可与 hostname 相同:ssyyy.com

设置管理员账号、密码:XXXXXX

选择需要安装的组件:默认第一个

根据系统提示,一路输入 y 回车

重启服务器,让邮件服务器生效! 至此,邮件服务器搭建完毕,以下开始设置邮件服务器。

可以通过访问(当然,我们目前还没有解析域名,后面一起解析)
https://你的域名/mail        ——邮件登录地址
https://你的域名/netdata     ——服务器状态监控
https://你的域名/iredadmin   ——邮件服务器后台管理

管理员账号:postmaster@你的域  例如 postmaster@qq.com
管理员密码:安装时候设置的密码
以上信息,可以在 /root/iRedMail-1.6.2/iRedMail.tips 文件中查看

配置 iRedMail 邮件服务器

在申请证书之前,请完成 邮件服务器域名 的相关解析,我们规划的邮件服务器地址为 mail.ssyyy.com ,所以,申请证书之前,需要对把该域名指向 VPS IP。

申请证书

以下是 ACME 脚本申请证书,比较方便,若是证书申请上面有问题,请(后续自己把证书移动、覆盖到 /etc/ssl/private/iRedMail.key 以及 /etc/ssl/certs/iRedMail.crt )

为我们计划的邮件服务器域名 mail.ssyyy.com 申请证书,请自行替换命令行中的域名

curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m postmaster@ssyyy.com
~/.acme.sh/acme.sh  --issue  -d mail.ssyyy.com  --webroot  /var/www/html

~/.acme.sh/acme.sh --installcert -d mail.ssyyy.com --key-file /etc/ssl/private/iRedMail.key --fullchain-file /etc/ssl/certs/iRedMail.crt

重载服务

service postfix reload;service dovecot reload;service nginx reload

禁用 iRedMail 灰名单

找到 VPS 文件,/opt/iredapd/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

配置域名 DNS 及解析

设置 PTR 反向解析

其他 VPS 商家,请自行查阅,搬瓦工VPS 打开后台管理,在左边选项 Mail contrlos 里面,找到右边的 PTR Records (Reverse DNS),点击 set new record 设置即可。

检测方式:nslookup 8.8.8.8(服务器IP)

设置 A 记录

将 mail.ssyyy.com 的 A 记录指向你的 VPS 服务器(邮件服务器)

检测方式:nslookup mail.ssyyy.com

设置 MX 记录

MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址,优先级为 10

检测方式:nslookup -type=mx mail.ssyyy.com

设置 SPF 记录

SPF 记录是为了防止垃圾邮件而设定的,告知收件方,从设置的允许列表中发出的邮件都是合法的,设置方式为添加一条根域名的 TXT 解析记录

内容为 v=spf1 mx ~all

检测方式:nslookup -type=txt ssyyy.com

设置 DKIM记录

DKIM 可说是避免被判定为垃圾邮件的一大利器,DKIM 属于一种类似加密签名的解析记录,只有包含此加密数据,且公钥与密钥相匹配才属于合法邮件,要设置 DKIM 记录,首先要查询 DKIM 信息。

查询DKIM 信息:

查看 /root/iRedMail-1.6.2/iRedMail.tips 文件,里面有相应的 DKIM

将括号内的文本 去除引号以及空格并相连 就是咱们的 DKIM 数据,在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是咱们组合出的文本

测试方式:nslookup -type=txt dkim._domainkey.ssyyy.com

设置 DMARC 记录

DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内。

添加方法就是增加一条 _dmarc 的 TXT 解析,内容为配置选项,v=DMARC1; p=none; pct=100; rua=mailto:dmarc@ssyyy.com

检测方式:nslookup -type=txt _dmarc.ssyyy.com

添加 iRedMail 用户

当然,你可以直接使用刚才系统创建的系统管理员邮箱,我们另外也可以增加邮箱用户

登录前,选择你的网页语言,其他就很简单了

测试 iRedMail 邮件服务器

登录你的邮件服务器,里面的三封邮件是系统发过来的。

尝试用该邮件发送以及接收其他邮件的邮件,若是严格按照上面来配置,应该是一点问题都没有。

最后,我们访问 https://www.mail-tester.com/

按照网页上面给出的邮箱地址,我们用刚才搭建好的邮件服务器给这个地址发送一封邮件,然后点击测试。

记住,该测试,每 24小时 ,只允许同个域测试三次,所以需要测试还是需要谨慎发邮件,别发垃圾!

用刚才创建的用户,给 GMAIL 发一封邮件试试。

如果你是需要用其他客户端软件来收取或是发送邮件,端口列表在这里:

协议地址端口&加密端口
IAMP邮箱域名143,993
POP3邮箱域名110,995
SMTP邮箱域名25,587