type
status
date
slug
summary
tags
category
icon
password
iRedMail
iredmail • Updated Dec 10, 2023
1.硬件需求
- 1核2G服务器(最好是这个配置起,我自己配置的是2核4G的Centos 8机器)
- 域名(最好是将域名托管到Cloudflare)
- 服务器开放 25 端口(大部分云服务器商是不开放的,所以阿里、腾讯、AWS等这些就不用去试了)
关于如何使用Cloudflare托管你的域名:
如何将域名托管至Cloudflare | Polaris的小站
教你如何将域名转移到Cloudflare上托管
https://www.lpolaris.com/article/usecloudflare
![如何将域名托管至Cloudflare | Polaris的小站](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4791fbde-5a0a-4e2b-a8f2-a04ffb616ad6%2Fscreenshot-20230621-175554.png?table=block&id=4e20203a-bcfd-43ff-baec-20df3fccdcb3&cache=v2&t=bb0f8813-df45-4bec-b2b0-053735cc0626&width=800)
2.更新yum
3.确定主机开放了出站方向的25端口
测试代码(这里是连接QQ邮箱服务器的25端口):
如果一直超时则说明不可用
成功可用的案例:
4.正式开始搭建
我是CentOS8系统,按照说明
4.1 准备工作
为服务器设置一个完整域名(FQDN)的主机名
不管你的服务器将用于实际运行还是仅仅用作测试,都建议设置一个完整域名(FQDN)的主机名。
输入命令
hostname -f
查看当前的主机名假设你的域名为:abc.com
那么你需要将
hostname
设置为 mx.abc.com
这一步需要再主机上修改两个文件:
1. 修改
/etc/hostname
命令如下:
如果提示:
bash: vim: command not found
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F14ffe1c0-ea40-4664-a93d-55fb3d86b2c8%2FUntitled.png?table=block&id=c2cadd00-a527-4cb1-8a32-c4edd8d64b1a&t=c2cadd00-a527-4cb1-8a32-c4edd8d64b1a&width=391&cache=v2)
需要安装
vim
, yum install vim
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa273982f-389a-45fc-801f-48427e25030d%2FUntitled.png?table=block&id=bef78341-f570-4d61-85eb-6e47a889b850&t=bef78341-f570-4d61-85eb-6e47a889b850&width=1496&cache=v2)
再次输入:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F93563c0d-abd5-42fa-bfd1-f5234731511b%2FUntitled.png?table=block&id=a7382136-d4d3-4ca6-a36c-19b790dd4e00&t=a7382136-d4d3-4ca6-a36c-19b790dd4e00&width=409&cache=v2)
2.修改
/etc/hosts
定义主机名和 IP 地址的对应关系,注意:一定要将 FQDN 主机名列在第一个
修改完毕后,一般需要重启系统生效
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7ce1944a-5e63-42d3-a917-4cddb298e5b0%2FUntitled.png?table=block&id=17c0709a-ae58-4c17-a1ce-10d7a39b2e8b&t=17c0709a-ae58-4c17-a1ce-10d7a39b2e8b&width=381&cache=v2)
4.2 禁用SELinux
iRedMail 不支持 SELinux,所以需要在
/etc/selinux/config
文件里禁用它。删除和禁用SELinux的步骤:
- 查看当前的SELinux状态,运行:
sestatus
- 编辑
vim /etc/selinux/config
文件,并将'SELINUX'设置为`disabled'。
- 重启Linux服务器
sudo reboot
- 运行
sestatus
检查selinux状态
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F77c5fc8c-3c90-475d-ae5c-ba43e839b0c3%2FUntitled.png?table=block&id=2deac811-6509-4712-aee2-c5b9261cd8b2&t=2deac811-6509-4712-aee2-c5b9261cd8b2&width=431&cache=v2)
4.3 下载最新的 iRedMail
• 访问下载页面下载最新的版本。
注意命令行最后的的1.6.3是版本号,如果要下载其他版本,修改一下即可
如果提示:
bash: tar: command not found
/ bash: wget: command not found
需要安装一下
tar
4.4 运行 iRedMail 安装程序
现在可以运行 iRedMail 安装程序了,它会问你几个简单的问题,仅此而已。
如果是在 CentOS 8 系统上安装,iRedMail 安装程序会使用
pip2
命令安装几个 Python-2 的模块,国内用户请指定镜像站点完成安装,否则很大可能会因网络问题 导致安装失败:4.5 安装过程截图
• 欢迎和感谢使用
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1274e959-3818-4ce5-8f45-5a01645e6c52%2FUntitled.png?table=block&id=3266fda0-b951-4f40-9b62-dab0a5400484&t=3266fda0-b951-4f40-9b62-dab0a5400484&width=1465&cache=v2)
• 指定用于存储用户邮箱的路径。默认是
/var/vmail/
。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdf078fe6-c0cb-4053-90b4-5ffa125cb356%2FUntitled.png?table=block&id=b39beae3-cabe-456f-8801-e72f5361f2f3&t=b39beae3-cabe-456f-8801-e72f5361f2f3&width=795&cache=v2)
- 选择web服务器,一般用nginx
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F04d0d955-c61b-4667-836d-b5ebe2bebbdc%2FUntitled.png?table=block&id=c0e3e07b-c8d4-4a4a-9b70-1dae87ad93db&t=c0e3e07b-c8d4-4a4a-9b70-1dae87ad93db&width=1465&cache=v2)
• 选择用于存储邮件账号的数据库。
各个数据库之间没有太大区别,建议使用自己熟悉的数据库,便于后期维护。
这里我用的是PostgreSQL
注意这里先按空格选中,再按回车键
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2bbe6b7c-b59c-4302-8d7d-cc0ea42eb0e7%2FUntitled.png?table=block&id=e213d9cc-b4f5-4be0-91da-614adac4e727&t=e213d9cc-b4f5-4be0-91da-614adac4e727&width=1389&cache=v2)
这里会显示你需要设置初始密码:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5d429e57-daa5-4967-a496-52805a052873%2FUntitled.png?table=block&id=950296f4-12e4-4e4b-bcbe-06af0be4214f&t=950296f4-12e4-4e4b-bcbe-06af0be4214f&width=1200&cache=v2)
• 添加第一个邮件域名(比如 example.com ),你的域名是啥就填啥
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3538061c-1a76-4510-80a4-3970c05f874b%2FUntitled.png?table=block&id=c584e805-a4df-4642-9719-9bf6b361c4d8&t=c584e805-a4df-4642-9719-9bf6b361c4d8&width=980&cache=v2)
• 设置邮件管理员的密码
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe4fb2b89-f109-4635-8c6f-6402158eabee%2FUntitled.png?table=block&id=2882c5eb-0f70-4039-9bff-92103d132d22&t=2882c5eb-0f70-4039-9bff-92103d132d22&width=842&cache=v2)
• 可选的组件(默认即可)
- Roundcubemail — 网页邮件客户端
- SoGo — 多人协同管理软件
- netdate — 邮件服务器健康监控系统
- iRedAdmin — 邮件服务器管理面板
- Fail2ban — 密码锁
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F5c0a241f-9156-4e7b-a576-e11d4f0ca16c%2FUntitled.png?table=block&id=9d0c44a0-8fa0-425d-bc24-ad883aacbfdc&t=9d0c44a0-8fa0-425d-bc24-ad883aacbfdc&width=718&cache=v2)
回答完上面的几个问题之后,
安装程序给出本次安装的基本信息并要求确认是否实际 执行安装,
请输入
y
或 Y
并按回车键确认,或 n
, N
并按回车键中止安装。![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa032dbb0-8506-4923-bef0-0d4c56d3bf1e%2FUntitled.png?table=block&id=ebc4c739-fb2d-4583-85ca-fc25c797b8c1&t=ebc4c739-fb2d-4583-85ca-fc25c797b8c1&width=737&cache=v2)
安装完成:
重启服务器,让邮件服务器生效! 至此,邮件服务器搭建完毕,以下开始设置邮件服务器。
- 可以通过访问(当然,我们目前还没有解析域名,后面一起解析)
- https://你的域名/mail ——邮件登录地址
- https://你的域名/netdata ——服务器状态监控
- https://你的域名/iredadmin ——邮件服务器后台管理
- 管理员账号:postmaster@你的域 例如 [email protected]
- 管理员密码:安装时候设置的密码
- 以上信息,可以在
/root/iRedMail-1.6.3/iRedMail.tips
文件中查看
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F96d1ffe5-f301-4be5-8709-139ff141dead%2FUntitled.png?table=block&id=1d6021ea-cff5-4b1f-b50f-eedef7c40ce6&t=1d6021ea-cff5-4b1f-b50f-eedef7c40ce6&width=828&cache=v2)
重启服务器命令:
5.使用 SSL 证书保护 iRedMail
这里推荐获取 Let’s Encrypt 证书
配合Clouldflare托管的域名,很轻松的实现自动化
准备好
- Cloudflare Email
这个是指你的Cloudflare的账号邮箱
- Cloudflare API Key
查看
My Profile → API Tokens → Global API Key
5.1 申请证书
命令:
5.2 重载服务
5.3 禁用灰名单功能
将
中的
greylisting
删除然后,重启 iredapd
6.配置域名 DNS 及解析
6.1 设置 PTR 反向解析
设置PTR需要联系服务器供应商,在服务器后台操作
如果后台没有操作,可以向供应商提工单
说明要添加PTR反向解析到你的邮箱域名
比如:添加PTR解析到 mx.example.com
检验命令:
nslookup 104.5.6.7
后面是你的服务器ip地址
不设置PTR会导致邮件发送不到gmail等邮箱
6.2 设置 A 记录
解析你的邮箱域名到服务器ip,在clouldflare操作
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa7389ace-b855-41a3-86d8-5a918c0eb2a2%2FUntitled.png?table=block&id=5373b7ff-5b7f-4de5-ae89-30296353946c&t=5373b7ff-5b7f-4de5-ae89-30296353946c&width=1291&cache=v2)
6.3 设置 MX 记录
MX 记录就是邮件的解析记录,非常重要的一条记录,配置根域名的 MX 记录为自己的邮件域名地址,优先级为 10
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F83e31a70-4a6b-4913-be83-791d2c2ef8cf%2FUntitled.png?table=block&id=f1d32020-a419-462e-a4cf-d759dcf01aec&t=f1d32020-a419-462e-a4cf-d759dcf01aec&width=1254&cache=v2)
6.4 设置 SPF 记录
SPF 记录是为了防止垃圾邮件而设定的,告知收件方,从设置的允许列表中发出的邮件都是合法的,设置方式为添加一条根域名的 TXT 解析记录
内容为
v=spf1 mx ~all
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8610cd6a-81fd-4620-8809-b21c75f0e6b4%2FUntitled.png?table=block&id=ef325529-570d-4750-99ed-5ecb1d53d5bd&t=ef325529-570d-4750-99ed-5ecb1d53d5bd&width=1275&cache=v2)
6.5 设置 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’
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa73db3eb-26b5-4e0b-a022-350b34adc952%2FUntitled.png?table=block&id=7e2445ef-2726-4466-b672-59ff596bf33e&t=7e2445ef-2726-4466-b672-59ff596bf33e&width=609&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F17dfc89c-b901-47ca-b043-cadbb3a9028d%2FUntitled.png?table=block&id=a0c566f2-4a2a-447b-9235-0fb32021f567&t=a0c566f2-4a2a-447b-9235-0fb32021f567&width=667&cache=v2)
第二种:直接查看
/root/iRedMail-1.4.2/iRedMail.tips
文件,里面有相应的 DKIM将括号内的文本 去除引号以及空格并相连 就是咱们的 DKIM 数据
在解析中添加一条
dkim._domainkey
的 TXT 解析,内容就是咱们组合出的文本![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6973c507-6632-44d8-9025-0808ed48086c%2FUntitled.png?table=block&id=3de8ee2f-b960-45c5-a68f-7f43bc6d0c40&t=3de8ee2f-b960-45c5-a68f-7f43bc6d0c40&width=1309&cache=v2)
6.6 设置 DMARC 记录
DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内。
添加方法就是增加一条
_dmarc
的 TXT 解析,内容为配置选项,v=DMARC1; p=none; pct=100; rua=mailto:dmarc@
example.com
注意最后面的
example.com
需要改成你的域![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F98ff8a76-62b4-4022-b333-4e8ad1df7879%2FUntitled.png?table=block&id=3df808a0-b571-4f65-8891-9d6deadef2ff&t=3df808a0-b571-4f65-8891-9d6deadef2ff&width=1292&cache=v2)
7.登录你有邮箱服务器测试一下吧
1.https://你的域名/mail ——邮件登录地址
比如:
https://mx.example.com/mail
注意:1.6.3版本访问存在问题
会提示:
Unsupported PHP version. Required PHP >= 7.3.
这里需要手动升级到
php 7.4
有点坑!在Centos 8下的升级命令:
现在就可以访问:
https://mx.example.com/mail
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F22931e51-bee7-43ca-859a-311050a10f7d%2FUntitled.png?table=block&id=90c4b603-7b60-48ec-ba76-cccaf5df40b5&t=90c4b603-7b60-48ec-ba76-cccaf5df40b5&width=653&cache=v2)
2.https://你的域名/iredadmin——邮件服务器后台管理
比如:
https://mx.example.com/iredadmin
用之前创建的
[email protected]
和对应的密码登录即可
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7a2c2c92-2e79-4378-8696-e6feaadbc2b7%2FUntitled.png?table=block&id=04fda323-032d-4887-a431-c1531e42fa10&t=04fda323-032d-4887-a431-c1531e42fa10&width=731&cache=v2)
这里可以新建其他邮箱账户
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc125a952-054a-4eb9-85cd-ba6c48abd9bd%2FUntitled.png?table=block&id=47803e26-964e-4c4a-ae7a-806beb31355c&t=47803e26-964e-4c4a-ae7a-806beb31355c&width=807&cache=v2)
3.https://你的域名/netdata ——服务器状态监控
比如:
https://mx.example.com/netdata
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc93ce23c-d371-46b6-b57d-7074861bedb5%2FUntitled.png?table=block&id=9609afba-cf57-430b-b851-c9b8a4a1226a&t=9609afba-cf57-430b-b851-c9b8a4a1226a&width=1642&cache=v2)
8.关于邮箱客户端
- SMTP/POP3/IMAP 服务的登录用户名必须是完整的电子邮件地址。
- POP3 服务:通过 STARTTLS 的端口 110,或使用 SSL 的端口 995。
- IMAP 服务:通过 STARTTLS 的端口 143,或使用 SSL 的端口 993。
- SMTP 服务:通过 STARTTLS 的端口 587,或使用 SSL 的端口 465。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F06fb56f3-8fb0-4ec6-ab03-98d466d6ef78%2FUntitled.png?table=block&id=99afaa9f-d4d2-4e19-8417-4d57bb85eea5&t=99afaa9f-d4d2-4e19-8417-4d57bb85eea5&width=515&cache=v2)
用网易邮箱大师测试收发邮件,完美通过
账号:你的邮箱全名,比如 [email protected]
密码:创建邮箱账号时设置的密码
8.最后
如果还有其他问题,请在下方评论区留言
邮箱服务器搭建完毕,希望各位都能顺利搭建起来!
- 作者:PolarisAspire
- 链接:https://lpolaris.com//article/iredmail
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。