iRedMail是开源的,有网页端,比较适合自建的多用户使用。下面记录一下跟着大神搭建 iRedMail 企业邮局的步骤,廿八搭建后测试满分!
iRedMail 支持的系统
下面开始需要准备的工具:
1、干净的 VPS 一台,内存最好大于 1 GB,推荐 CentOS、Ubuntu,廿八使用的是 Ubuntu 20.04 搭建,CentOS 请自行更换 使用yum 命令即可。(CentOS 项目将重点转移到 CentOS Stream,CentOS 8 将在 2021 年底结束)
注意:准备的VPS支持PTR反向解析,这点尤为重要, 当然也不是必须的, 看自己的取舍, 若是没有PTR .会存在丢失邮件的情况。
2、VPS 最好支持 PTR Records,本次搭建用的 VPS 来自 CC
3、域名一个,推荐托管 cloudflare (解析生效快)
4、规划好作为邮件服务器的域名,本次搭建使用 mail.scxz.cf
,把该域名解析到 VPS IP。
搭建 iRedMail 邮件服务器
设置 VPS 以及系统
更新系统、安装组件:
yum update -y yum install wget curl sudo tar socat bind-utils -y
设置 VPS 主机名
我们规划邮局的域名为 mail.scxz.cf
,所以,我们需要对 VPS 的主机名进行设置。
首先,需要编辑 /etc/hosts
文件,找到含有你的 VPS IP 地址的那一行;如果没有,则添加一行。内容如下:
127.0.0.1 mail.scxz.cf mail
其中, 127.0.0.1 可换为你的服务器 IP 地址,后面依次填入长主机名和短主机名,记得不可填反。
然后,我们找到 VPS 的 /etc/hostname
文件,编辑里面的内容为 mail
(域名的前缀)
这样,就设置好了主机名。执行指令 reboot 重启 VPS。
此时我们检查一下是否设置正确:
执行:hostname
此时我们应该只能看到短主机名 mail
. 如果你看到了长主机名 mail.scxz.cf
, 说明之前设置错误,请重新检查上述步骤。
执行:hostname -f
此时,我们应该只能看到长主机名 mail.
scxz.cf
这样,我们就全部设置好了主机名(hostname), 可以进行接下来的其他操作了
下载并安装 iRedMail
廿八写这篇博文的时候,iRedMail 的最新版为 1.6.0,若是版本进行了更新,请大家自行修改下面命令中的版本号。
iRedMail 最新版下载:点击查看最新版
wget https://github.com/iredmail/iRedMail/archive/1.6.0.tar.gz -O /root/iRedMail.tar.gz tar -xf iRedMail.tar.gz cd iRedMail-1.6.0 bash iRedMail.sh
按照以下图片的提示进行安装:
安装就直接按 Enter 继续;不安装,请按 Ctrl-C 退出。↡
设置安装目录(无特殊需要,直接按 Enter 继续即可)↡
选择 web服务器↡
选择数据库类型↡ (在键盘上使用 箭头按键 移动选择到第二个选项,然后按 空格键 确认选定,最后按 Enter(回车键)确认)
设置数据库密码↡
设置域,不可与 hostname 相同,也就是不能填写解析的 mail.scxz.cf ,只要后半段的 scxz.cf 即可!↡
设置管理员账号的密码(管理员账号是:postmaster@你的域名)↡
选择需要安装的组件(直接默认回车即可)↡
之后根据系统提示,一路输入 y
回车 即可!↡
安装完成后,执行 reboot 重启服务器,让邮件服务器生效! 至此,邮件服务器搭建完毕,以下开始设置邮件服务器。↡
=====================================
可以通过访问(当然,我们目前还没有解析域名,后面一起解析) https://你的域名/mail ——邮件登录地址 https://你的域名/netdata ——服务器状态监控 https://你的域名/iredadmin ——邮件服务器后台管理 管理员账号:postmaster@你的域 例如 postmaster@scxz.cf 管理员密码:安装时候设置的密码 以上信息,可以在 /root/iRedMail-1.6.0/iRedMail.tips 文件中查看
配置 iRedMail 邮件服务器
在申请证书之前,请先完成 邮件服务器域名 的相关解析,我规划的邮件服务器地址为 mail.scxz.cf
,所以,申请证书之前,需要对把该域名指向我们的 VPS 的 IP。
申请证书
以下是 ACME 脚本申请证书,比较方便,若是证书申请上面有问题,请
(后续自己把证书移动、覆盖到 /etc/pki/tls/private/iRedMail.key
以及 /etc/pki/tls/certs/iRedMail.crt
)
为我们计划的邮件服务器域名 mail.scxz.cf
申请证书,请自行替换命令行中的域名
curl https://get.acme.sh | sh ~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com ~/.acme.sh/acme.sh --issue -d mail.scxz.cf --webroot /var/www/html ~/.acme.sh/acme.sh --installcert -d mail.scxz.cf --key-file /etc/pki/tls/private/iRedMail.key --fullchain-file /etc/pki/tls/certs/iRedMail.crt
注意:如果提示错误,没有路径,就先手动创建路径文件夹/etc/pki/tls/private和/etc/pki/tls/certs
重载服务
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", )
” 这项删去即可,注意对齐格式,逗号后面还有个空格,如不明白,看 “greylisting”, 左右两边的其他参数,一样对齐即可!
然后执行下方命令,重启 iredapd
service iredapd restart
配置域名 DNS 及解析
设置 PTR 反向解析
我用的是CloudCone 家的vps,直接在vps管理后台中的 Networking 选项中填入我们的邮件服务器域名即可!
搬瓦工VPS 打开后台管理,在左边选项 Mail contrlos
里面,找到右边的 PTR Records (Reverse DNS)
,点击 set new record
设置即可。其他 VPS 商家,请自行查阅,
检测方式,执行命令 :nslookup 8.8.8.8(8.8.8.8替换成自己的服务器IP)
设置 A 记录
将 mail.
scxz.cf 的 A 记录指向你的 VPS 服务器(邮件服务器)
检测方式:nslookup mail.
scxz.cf
设置 MX 记录
MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址(@记录),优先级为 10
检测方式:nslookup -type=mx
scxz.cf
设置 SPF 记录
SPF 记录是为了防止垃圾邮件而设定的,告知收件方,从设置的允许列表中发出的邮件都是合法的,设置方式为添加一条根域名的 TXT 解析记录
内容为 v=spf1 mx ~all
检测方式:nslookup -type=txt scxz.cf
设置 DKIM记录
DKIM 可说是避免被判定为垃圾邮件的一大利器,DKIM 属于一种类似加密签名的解析记录,只有包含此加密数据,且公钥与密钥相匹配才属于合法邮件,要设置 DKIM 记录,首先要查询 DKIM 信息。
查询DKIM 信息有两种方式:
第一种:在系统中执行命令查看:amavisd showkeys
若是出现报错:Config file "/etc/amavisd.conf" does not exist, at /usr/sbin/amavisd line
那就要修改 /usr/sbin/amavisd
文件
搜索 config_files = ( '
把括号里面的路径改为 ‘/etc/amavisd/amavisd.conf’
第二种:直接查看 /root/iRedMail-1.6.0/iRedMail.tips
文件,里面有相应的 DKIM
复制文件里面的这一段出来粘贴在记事本中(记得别动文件本身的内容复制后关闭文件即可),将括号内的文本 去除引号以及空格使其首尾相连 就是咱们的 DKIM 数据,在解析中添加一条 dkim._domainkey
的 TXT 解析,内容就是咱们组合出的文本(如下图)
测试方式:nslookup -type=txt dkim._domainkey.scxz.cf
设置 DMARC 记录
DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内。
添加方法就是增加一条 _dmarc
的 TXT 解析,内容为配置选项:
v=DMARC1; p=none; pct=100; rua=mailto:dmarc@scxz.cf
检测方式:nslookup -type=txt _dmarc.scxz.cf
添加 iRedMail 用户
你可以直接使用刚才系统创建的系统管理员邮箱,我们另外也可以增加邮箱用户
登录前,选择你的网页语言,其他就很简单了,如下图
测试 iRedMail 邮件服务器
登录你的邮件服务器,里面的三封邮件是系统发过来的。(其中一封是我转发测试邮件评分的)
我们尝试用该邮件发送以及接收其他邮件的邮件,若是严格按照上面来配置,应该是一点问题都没有的。
最后,我们访问 https://www.mail-tester.com/
按照网页上面给出的邮箱地址,我们用刚才搭建好的邮件服务器给这个地址发送一封邮件,然后点击测试。
记住,该测试,每 24小时 ,只允许同个域测试三次,所以需要测试还是需要谨慎发邮件,别发垃圾!
Perfect!mail-tester
测试10分!满分10!
如果你是需要用其他客户端软件来收取或是发送邮件,端口列表在这里:
协议 | 地址 | 端口&加密端口 |
IAMP | 邮箱域名 | 143,993 |
POP3 | 邮箱域名 | 110,995 |
SMTP | 邮箱域名 | 25,587 |
使用客户端收发邮件也非常完美!
这是廿八用Foxmail测试的,完美!!