简介

iRedmail是一个免费开源的邮件服务器,采用Postfix和Dovecot及Amavisd和Roundcube基于web方式的一款邮件系统,并支持dkim病毒扫描等,并且多种操作系统Linux/BSD进行支持。
中文官网地址:https://www.iredmail.com/index-zh_CN.html
帮助文档:https://docs.iredmail.org/index-zh_CN.html

修改主机头、配置域名

先去域名服务商处把mx记录和mail主机头记录解析到你的云主机或VPS上
| mail | A记录 | 192.168.0.110 |
|-|-|-|
| @ | MX | 192.168.0.110 |
| @ | TXT记录 | v=spf1 a mx ip4:192.168.0.110 -all |
| _dmarc | TXT记录 | v=DMARC1; p=reject; rua=mailto:admin@yuncp.bid |

接下来把服务器的名字设成你的mail.yuncp.bid

hostname mail.yuncp.bid
hostnamectl set-hostname mail.yuncp.bid

还有CENTOS 7是默认开启了POSTIFX邮件系统的,这个会占用25端口,建议使用

systemctl stop postfix  #停止POSTFIX
systemctl disable postfix #关闭POSTFIX开机自启服务

先安装好docker:

https://www.osyum.com/group/topic/494/
docker存储位置为/home/docker

mkdir -p /home/docker

升级系统到最新版本

yum update -y

查看内核版本高于3.10的版本才可以安装

uname -r

关闭SELINUX

setenforce 0
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g"  /etc/selinux/config

安装必须组件

yum install -y yum-utils device-mapper-persistent-data lvm2

安装docker云源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看docker版本

yum list docker-ce --showduplicates | sort -r

安装docker默认版本

yum install docker-ce -y

你也可以安装指定版本
yum install 列表中的版本 -y
让docker开始并加入系统启动

systemctl start docker
systemctl enable docker

查看docker版本

docker version

重启docker看有没有错误

systemctl daemon-reload
systemctl restart docker.service

修改docker镜像和容器存储位置

vi /usr/lib/systemd/system/docker.service

在ExecStart段的最后面加上 -graph /home/docker

ecStart=/usr/bin/dockerd -H fd://  --containerd=/run/containerd/containerd.sock --graph /home/docker

重新载入

stemctl daemon-reload
systemctl restart docker.service

查看docker信息

docker info

完成

iredmail镜像地址:
https://hub.docker.com/r/lejmr/iredmail/

创建必要的目录

mkdir -p /home/mail/mysql
mkdir -p /home/mail/vmail
mkdir -p /home/mail/clamav
mkdir -p /home/mail/nginx

接下来拉取镜像:

docker pull lejmr/iredmail:mysql-latest

如果拉取不成功或者需要离线安装,可以使用本站的镜像源

wget http://yum.osyum.com/linux/docker/iredmail.tar.gz
gzip -d iredmail.tar.gz
docker load -i iredmail.tar

接下来运行容器

注册,邮件管理员(postmaster@,例postmaster@yuncp.bid)和mysql(root)管理员的密码为osyum123258

docker run -h mail.yuncp.bid -p 443:443  -p 80:80  -p 25:25  -p 110:110  -p 143:143  -p 465:465  -p 587:587  -p 993:993  -p 995:995  -h mail.yuncp.bid -e "MYSQL_ROOT_PASSWORD=osyum123258"  -e "SOGO_WORKERS=1"  -e "TZ=Europe/Prague"  -e "POSTMASTER_PASSWORD={PLAIN}osyum123258"  -e "IREDAPD_PLUGINS=['reject_null_sender', 'reject_sender_login_mismatch', 'greylisting', 'throttle', 'amavisd_wblist', 'sql_alias_access_policy']"  -v /home/mail/mysql:/var/lib/mysql -v /home/mail/vmail:/var/vmail -v /home/mail/clamav:/var/lib/clamav --name=iredmail --restart=always lejmr/iredmail:mysql-latest

经过5分钟左右的初始化

查看是否运行

docker ps -a

显示

CONTAINER ID   IMAGE       COMMAND    CREATED     STATUS        PORTS  NAMES
9dbca6de34dd lejmr/iredmail:mysql-latest "/entrypoint.sh supe..."  About an hour ago Up  About an hour 0.0.0.0:25->25/tcp,  0.0.0.0:80->80/tcp,  0.0.0.0:110->110/tcp,  0.0.0.0:143->143/tcp,  0.0.0.0:443->443/tcp,  0.0.0.0:465->465/tcp,  0.0.0.0:587->587/tcp,  0.0.0.0:993->993/tcp,  0.0.0.0:995->995/tcp   iredmail

接下来进入容器配置DKIM,防止发出的邮件被大型邮局扔进垃圾箱

docker exec -it iredmail /bin/bash

生成DKIM

amavisd showkeys

接下来把生成的DKIM全部复制到以下网址里

DKIM整理https://www.osyum.com/EwoMail/

点击开始整理

把主机记录复制下来,到你的域名解析里的主机名输入dkim._domainkey,类型选TXT,记录值就写V=….

退出docker

exit

接来下配置spf,方法:https://www.osyum.com/group/topic/473/

在域名服务商的域名控制面板里加一条类型是 TXT 的记录:

"v=spf1 a mx ~all" 

或者用比较严格的

"v=spf1 a mx -all"

例:v=spf1 a mx ip4:IP -all
以下是西部数码的

@  TXT   默认   "v=spf1 a mx ip4:IP -all"  900  10

注意:双引号一般不用输入,万网、DNSPod和新网上不要输入双引号。
如果除了邮件服务器,网站也可能直接发邮件,也可能通过中继服务器发邮件, TXT 可以设置为:

"v=spf1 a mx ip4:IP ip4:IP ~all" 

注意有的域名服务商不支持设置 txt 记录, 只能和对方联系。
检查spf指向是否生效

nslookup -q=txt 域名

登录管理地址

https://mail.域名/iredadmin/dashboard/checknew
用户名:postmaster@域名,密码为是osyum123258

接下来你可以添加用户或别的域名了

如果需要备份

需要进入容器里面

docker exec -it iredmail /bin/bash
mysqldump -uroot -posyum123258 --databases iredadmin >  /root/iredadmin.sql #注意你的root密码
mysqldump -uroot -posyum123258 --databases amavisd >  /root/amavisd.sql
mysqldump -uroot -posyum123258 --databases iredapd >  /root/iredapd.sql
mysqldump -uroot -posyum123258 --databases roundcubemail >  /root/roundcubemail.sql
mysqldump -uroot -posyum123258 --databases sogo >  /root/sogo.sql
mysqldump -uroot -posyum123258 --databases vmail >  /root/vmail.sql

退出容器

exit

接下来把osyum.com复制到宿主目录

docker cp iredmail:/root/iredadmin.sql /root
docker cp iredmail:/root/amavisd.sql /root
docker cp iredmail:/root/iredapd.sql /root
docker cp iredmail:/root/roundcubemail.sql /root
docker cp iredmail:/root/sogo.sql /root
docker cp iredmail:/root/vmail.sql /root

还需要把/home/mail/vmail目录进行备份,方法我就不讲了。

你可以用sftp等把这些sql文件下载下来保存,还可以写个脚本,定时备份并上传到你的FTP里面。如需要脚本,请联系我们。

转自 https://www.osyum.com/group/topic/607/

文档更新时间: 2020-03-31 18:50   作者:cklx