简介
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/