版本推荐:Centos6.9,0.96,非常稳定,从来没出过任何问题

修改主机名

hostname=mail.zaza.cn
grep -wq $hostname /etc/hosts || sed -i "s/127.0.0.1/127.0.0.1 $hostname/g" /etc/hosts
sed -i 's/^HOSTNAME.*$/HOSTNAME='"$hostname"'/g' /etc/sysconfig/network
hostname $hostname
ifconfig|grep "inet addr"

关闭selinux

sed -i.bak 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
# 立即生效
setenforce 0

下载iredmail

# 下载地址:https://www.iredmail.org/
cd /usr/local/src/
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2

安装iredmail

# 建议全新系统centos7安装iRedMail
tar xf iRedMail-0.9.9.tar.bz2
cd iRedMail-0.9.9/
bash iRedMail.sh
# a、除了下面的选择其他为默认选项
# b、数据库选择:MariaDB,密码可以填写简单的后面再改
#    first mail domain填写根域名:zaza.cn
#    管理账户为:postmaster@zaza.cn,密码可以填写简单的后面再改
# c、组件勾选SOGo
# 输入y开始安装
< Question > Continue? [y|N]y
# 输入yes重启防火墙(对外了ssh及邮件系统的相关端口)
< Question > Restart firewall now (with ssh ports: 22)? [y|N]y
# 使用iRedMail提供的配置文件
< Question > Would you like to use MySQL configuration file shipped within iRedMail now?
< Question > File: /etc/my.cnf. [Y|n]y

# 杀毒软件比较耗资源,跟进需求看是否需要关闭
systemctl stop clamd@amavisd.service
# 另外一个工具
systemctl stop sogod.service
# 配置文件
iRedMail.tips

域名解析

@	     TXT	    v=spf1 include:spf.zaza.cn ~all
spf	     TXT	    v=spf1 ip4:1.1.1.1 ~all
mail     A          1.1.1.1
smtp     A          1.1.1.1
pop3     A          1.1.1.1
# 默认MX指向mx01.zaza.cn,mx01.zaza.cn指向A记录
@        MX         mx01.zaza.cn
mx01     A          1.1.1.1
dkim._domainkey TXT (圆括号里面的值即可)
# 查询dkim的txt记录(圆括号里面的值即可)
amavisd -c /etc/amavisd/amavisd.conf showkeys

配置修改

# 开启110访问
vim /etc/dovecot/dovecot.conf
# ssl改为yes
ssl = yes

# 重启才能生效
systemctl restart dovecot.service

# 开启25端口(使用postconf命令不用重启服务器)
postconf -e "smtpd_sasl_auth_enable = yes"
# 测试
telnet mail.zaza.cn 25
ehlo mail.zaza.cn # 执行
250-AUTH PLAIN LOGIN # 内容包含这一行即可

# 开启465端口
vi /etc/postfix/master.cf
#smtps     inet  n       -       -       -       -       smtpd
改为:
smtps     inet  n       -       -       -       -       smtpd

# 重启
systemctl restart postfix.service

# 防火墙新增
vim /etc/firewalld/zones/iredmail.xml
<service name="smtps"/>

常见问题

投递邮件很慢

# QQ等邮件系统域名投递到本邮件系统很慢,并报错,日志如下
# tailf /var/log/maillog
# Recipient address rejected: Intentional policy rejection, please try again later;
# 移除灰名单服务
python /opt/iredapd/tools/spf_to_greylist_whitelists.py outlook.com microsoft.com 126.com 163.com qq.com foxmail.com

# 查看白名单列表
python /opt/iredapd/tools/greylisting_admin.py --list
python /opt/iredapd/tools/greylisting_admin.py --list-whitelist-domains
# 新增域名
# python /opt/iredapd/tools/greylisting_admin.py --enable --from '@mail.bytedance.net'
python /opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mail.bytedance.net'
# 或者 
# python /opt/iredapd/tools/spf_to_whitelist_domains.py --submit mail.bytedance.net

单个用户无法访问

# 速率限制(多次登录后被防火墙挡住了)
iptables -nvL
Chain f2b-dovecot (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   95 19540 REJECT     all  --  *      *       2.2.2.2        0.0.0.0/0            reject-with icmp-port-unreachable
# 配置文件:/etc/fail2ban/jail.conf

# pop3接收服务器连接失败
# 现象:telnet会瞬间被弹出来
telnet pop3.zaza.cn 995
# 日志
Feb 28 14:43:13 mail fail2ban.filter[1718]: INFO [dovecot-iredmail] Found 2.2.2.2

pop3测试:
https://wiki.dovecot.org/TestPop3Installation
imap测试:
https://notes.sagredo.eu/en/qmail-notes-185/testing-dovecot-90.html

telnet localhost 110
user username
pass password

telnet localhost 110
a login user pass
login test@yourdomain.net [PASSWORD]

# pop3s测试
# 现在服务器测试
openssl s_client -connect 127.0.0.1:995

openssl s_client -connect [your-IP]:995

资源消耗过大

# 有点耗资源
systemctl stop clamd@amavisd.service
systemctl stop amavisd.service

# 关闭自启动
systemctl disable clamd@amavisd.service
systemctl disable amavisd.service 

iredmail

# 客户端建议使用Thunderbird测试,协议比较完整

白名单设置

DNSBL白名单可以在/etc/postfix/postscreen_access.cidr里设置

常见端口

# 邮件系统对外端口
25端口(SMTP)
110端口(POP3)
143端口(IMAP)
465端口(SMTPS) # iredmail是587(TSL,不是SSL)
995端口(POP3S)
993端口(IMAPS)