type
status
date
slug
summary
tags
category
icon
password
iRedMail
iredmailUpdated Dec 10, 2023

1.硬件需求

  • 1核2G服务器(最好是这个配置起,我自己配置的是2核4G的Centos 8机器)
  • 域名(最好是将域名托管到Cloudflare)
  • 服务器开放 25 端口(大部分云服务器商是不开放的,所以阿里、腾讯、AWS等这些就不用去试了)
 
关于如何使用Cloudflare托管你的域名:

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
需要安装 vim , yum install vim
notion image
再次输入:
notion image
 
2.修改 /etc/hosts
定义主机名和 IP 地址的对应关系,注意:一定要将 FQDN 主机名列在第一个
修改完毕后,一般需要重启系统生效
notion image
 

4.2 禁用SELinux

iRedMail 不支持 SELinux,所以需要在 /etc/selinux/config 文件里禁用它。
删除和禁用SELinux的步骤:
  • 查看当前的SELinux状态,运行:sestatus
  • 编辑 vim /etc/selinux/config文件,并将'SELINUX'设置为`disabled'。
    • 重启Linux服务器 sudo reboot
    • 运行sestatus检查selinux状态
    notion image
     

    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
    • 指定用于存储用户邮箱的路径。默认是 /var/vmail/
    notion image
    • 选择web服务器,一般用nginx
    notion image
    • 选择用于存储邮件账号的数据库。
    各个数据库之间没有太大区别,建议使用自己熟悉的数据库,便于后期维护。
    这里我用的是PostgreSQL
    注意这里先按空格选中再按回车键
    notion image
    这里会显示你需要设置初始密码:
    notion image
    • 添加第一个邮件域名(比如 example.com ),你的域名是啥就填啥
    notion image
    • 设置邮件管理员的密码
    notion image
    • 可选的组件(默认即可)
    • Roundcubemail — 网页邮件客户端
    • SoGo — 多人协同管理软件
    • netdate — 邮件服务器健康监控系统
    • iRedAdmin — 邮件服务器管理面板
    • Fail2ban — 密码锁
    notion image
    回答完上面的几个问题之后,
    安装程序给出本次安装的基本信息并要求确认是否实际 执行安装
    请输入 y 或 Y 并按回车键确认,或 nN 并按回车键中止安装。
    notion image
    安装完成:
    重启服务器,让邮件服务器生效! 至此,邮件服务器搭建完毕,以下开始设置邮件服务器。
    1. 可以通过访问(当然,我们目前还没有解析域名,后面一起解析)
    1. https://你的域名/mail ——邮件登录地址
    1. https://你的域名/netdata ——服务器状态监控
    1. https://你的域名/iredadmin ——邮件服务器后台管理
    1. 管理员账号:postmaster@你的域 例如 [email protected]
    1. 管理员密码:安装时候设置的密码
    1. 以上信息,可以在 /root/iRedMail-1.6.3/iRedMail.tips 文件中查看
    notion image
    重启服务器命令:
     

    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
     

    6.3 设置 MX 记录

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

    6.4 设置 SPF 记录

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

    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
    notion image
    第二种:直接查看 /root/iRedMail-1.4.2/iRedMail.tips 文件,里面有相应的 DKIM
     
    将括号内的文本 去除引号以及空格并相连 就是咱们的 DKIM 数据
    在解析中添加一条 dkim._domainkey 的 TXT 解析,内容就是咱们组合出的文本
    notion image
     

    6.6 设置 DMARC 记录

    DMARC 记录是当收件方检测到伪造邮件等行为时,将根据您的配置进行操作的一个记录,比如拒绝邮件或放入垃圾邮件以及不做处理等,同时会反馈一份检测报告到配置的邮箱地址内。
    添加方法就是增加一条 _dmarc 的 TXT 解析,内容为配置选项,
    v=DMARC1; p=none; pct=100; rua=mailto:dmarc@example.com
    注意最后面的example.com 需要改成你的域
    notion image
     

    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

    2.https://你的域名/iredadmin——邮件服务器后台管理

    比如: https://mx.example.com/iredadmin
    用之前创建的 [email protected]
    和对应的密码登录即可
    notion image
    这里可以新建其他邮箱账户
    notion image

    3.https://你的域名/netdata ——服务器状态监控

    比如: https://mx.example.com/netdata
    notion image
     

    8.关于邮箱客户端

    • SMTP/POP3/IMAP 服务的登录用户名必须是完整的电子邮件地址。
    • POP3 服务:通过 STARTTLS 的端口 110,或使用 SSL 的端口 995。
    • IMAP 服务:通过 STARTTLS 的端口 143,或使用 SSL 的端口 993。
    • SMTP 服务:通过 STARTTLS 的端口 587,或使用 SSL 的端口 465。
    notion image
    用网易邮箱大师测试收发邮件,完美通过
    账号:你的邮箱全名,比如 [email protected] 密码:创建邮箱账号时设置的密码

    8.最后

    如果还有其他问题,请在下方评论区留言
    邮箱服务器搭建完毕,希望各位都能顺利搭建起来!
     
    Unity-VisionOS开发(一)5.28日新一轮的ChatGPT Plus封号潮
    • Twikoo
    PolarisAspire
    PolarisAspire
    乐于探索互联网新技术,程序开发者
    公告
    🎉欢迎来到Polaris的小站🎉
    免责声明
    ⚠️ 本站内容仅代表个人观点,可以转载,但请注明出处。
    ⚠️ 本人分享内容仅供学习参考使用,请勿用于其他用途。
    关于我
    一枚混迹多年的程序员
    做过一些项目
    喜欢做知识分享
    有问题欢迎联系我
    TG交流群组
    小卖部
    流媒体合租动态