邮件服务器iRedMail搭建教程|一键部署企业级邮件系统搭建、配置、优化完整最新版

iRedMail 介绍

iRedMail 是一款开源、功能完善的邮件服务器一体化解决方案,支持在 Linux 系统上一键部署完整的邮件系统。它基于 Postfix、Dovecot、Amavis、SpamAssassin、ClamAV 等成熟组件构建,集成了 SMTP、IMAP、POP3、WebMail、防垃圾邮件与病毒扫描等常用功能,适合个人站长、中小企业以及自建邮箱系统使用。

准备工作

  1. 准备一台服务器支持25 端口
  2. SSH连接工具推荐 WindTerm
  3. 把 IP 解析到你的域名 A记录 名称mail IP

使用ssh连接

安装 cron 开机自启

apt update
apt install -y cron
systemctl enable cron
systemctl start cron

设置系统 hostname

hostnamectl set-hostname mail

立即生效:

exec bash
hostname

编辑 /etc/hosts

nano /etc/hosts

添加一行mail.example.com替换你的域名

127.0.1.1 mail.example.com mail

创建脚本

nano iredmail.sh
  • 粘贴一键脚本代码完整内容
  • 注意现在是1.7.4版本
  • 更改为最新版 查看版本 进行更改
#!/bin/bash
set -e

echo "========== iRedMail 一键安装脚本 =========="

# 必须 root
if [ "$(id -u)" != "0" ]; then
  echo "❌ 请使用 root 用户运行"
  exit 1
fi

# 检测系统
if [ -f /etc/debian_version ]; then
  OS="debian"
elif [ -f /etc/lsb-release ]; then
  OS="ubuntu"
else
  echo "❌ 仅支持 Debian / Ubuntu"
  exit 1
fi

echo "✅ 系统检测通过: $OS"

# 更新系统
echo "📦 更新系统..."
apt update -y
apt upgrade -y

# 安装依赖
echo "📦 安装依赖..."
apt install -y wget curl bzip2 tar dialog ca-certificates

# 安装 cron 并启动开机自启
echo "📦 安装 cron 并设置开机自启..."
apt install -y cron
systemctl enable cron
systemctl start cron

# 关闭冲突服务
echo "🛑 停止可能冲突的邮件服务..."
systemctl stop exim4 postfix sendmail 2>/dev/null || true
systemctl disable exim4 postfix sendmail 2>/dev/null || true

# 下载 iRedMail
cd /root
IRE_VERSION="1.7.4"
echo "⬇️ 下载 iRedMail ${IRE_VERSION}..."
wget https://github.com/iredmail/iRedMail/archive/refs/tags/${IRE_VERSION}.tar.gz

# 解压
tar zxf ${IRE_VERSION}.tar.gz
cd iRedMail-${IRE_VERSION}

# 权限
chmod +x iRedMail.sh

echo ""
echo "================================================"
echo "🚀 即将进入 iRedMail 官方安装界面"
echo "👉 请按提示选择组件"
echo "👉 安装完成后一定保存提示的账号密码"
echo "================================================"
echo ""

# 启动安装
bash iRedMail.sh

Ctrl键X保存

执行安装

chmod +x iredmail.sh
./iredmail.sh

回车确认

确认目录(没需求直接回车)

空格选定第二个 回车确认

输入密码

输入域名一级域例如:
example.com

管理员密码忘记截图了自己输入就可以了

直接回车确认

然后Y确认自己的信息或者取消重新设置

是否使用防火墙规则Fail2ban

Y确认

重启防火墙
已放行 SSH 22 端口不用担心

Y确认

  • 大约需要十分钟左右,根据服务器性能决定
  • 安装完成进行重启
reboot

重启后准备申请证书
使用下面方法或其他方法获取证书移动到指定位置就行
安装

curl https://get.acme.sh | sh

替换你的邮箱[email protected]

~/.acme.sh/acme.sh --register-account -m [email protected]

申请证书替换你的域名 example.com

~/.acme.sh/acme.sh  --issue  -d example.com  --webroot  /var/www/html

移动证书到iRedMail替换你的域名证书 example.com

~/.acme.sh/acme.sh --install-cert -d example.com \
--fullchain-file /etc/ssl/certs/iRedMail.crt \
--key-file /etc/ssl/private/iRedMail.key \
--reloadcmd "chmod 644 /etc/ssl/certs/iRedMail.crt; \
chmod 600 /etc/ssl/private/iRedMail.key; \
nginx -t && systemctl restart nginx && systemctl restart postfix && systemctl restart dovecot"

重载服务

service postfix reload;service dovecot reload;service nginx reload
  • 禁用 iRedMail 灰名单
  • 找到 VPS 文件 /opt/iredapd/settings.py 编辑
  • 或者使用 nano 直接编辑
nano /opt/iredapd/settings.py

将其中的 ”greylisting ” 这项删去除注意代码格式

然后重载服务

service iredapd restart

域名DNS 及解析

1.添加MX记录

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

名称
@
搭建时解析的域名

准备工作第三步的你的解析域名

mail.example.com
优先级为 10
检测方式:

nslookup -type=mx example.com

2.SPF 记录

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

名称
@
内容为

v=spf1 mx ~all

检测方式:

nslookup -type=txt example.com

3.设置 DKIM记录

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

查询DKIM 信息有两种方式:

1:在系统中执行命令查看:amavisd showkeys
2:直接查看 /root/iRedMail-1.7.4/iRedMail.tips 文件,里面有相应的 DKIM

如果使用第一种方法查看出现错误时

若是出现报错:Config file “/etc/amavisd.conf” does not exist, at /usr/sbin/amavisd line
修改 /usr/sbin/amavisd 文件
搜索 config_files = ( ‘
把括号里面的路径改为 ‘/etc/amavisd/amavisd.conf’

第一种直接查看

amavisd showkeys

第二种查看服务器文件/root/iRedMail-1.7.4/iRedMail.tips
删除多余的 “” 与空格
完内容为示例:

添加为txt记录名称为

dkim._domainkey

值为删除多余的引号与空格示例

v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCsAQ8AqMIIBCgKQEAl
wayXNLDTZLJ1RU2VdjTjb5OvbNFJ8nC1Y8WN8FvrzPUBIM+ht5bA3PCH
ujYDQJWPNRhe9oO4kCMNW5FAKiU/nsNhcA3O9VtrAsA0SvuH8eif0iq4
Pclg5VAsdaYGsg5Bd09j7P1zTSd+l3rcPU4pgwoFOd31yYkuBqT+i6DarJ+
c5XeaCfLSJSB6tiSxe2c5Xc5lg8pas28wAskwDa3PIYVXxjdB1ZAe6loR/R
TFCH95jfKW7hmIBlvZ1Ib8g1uiQS0zyeQpPhS9QPsuoma2huhiykZG3Uj4
PEoKyWshDVuD352/4rDod85KgNN9RQl6KG5trQIDuuhiykZG3Uj4AQAB

测试方式:

nslookup -type=txt dkim._domainkey.example.com

4.设置 DMARC 记录

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

example.com改为自己的域名

名称

_dmarc

值为

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

检测方式:

nslookup -type=txt _dmarc.example.com

邮件域名管理以及监控状态
初始管理员是postmaster@你的域名

https://你的域名/mail        ——邮件登录地址
https://你的域名/netdata     ——服务器状态监控
https://你的域名/iredadmin   ——邮件服务器后台管理
 
管理员账号:[email protected]  例如 [email protected]
管理员密码:安装时候设置的密码
以上信息,可以在 /root/iRedMail-1.4.2/iRedMail.tips 文件中查看

访问测试你发出邮件的垃圾邮件匹配度进行检测

至此,iRedMail 邮件服务器已成功搭建完成。通过本次部署,我们实现了一套集 SMTP、IMAP、WebMail、 于一体的完整邮件系统,能够满足个人站点及中小企业在生产环境中的日常邮件收发需求。