作者:Vaedit

iredmail部署

一 服务器选型采购

由于国内云厂商默认都禁用smtp25端口,所以需要购买国外地区云服务器,低使用频率推荐至少内存2G以上。

云厂商 服务器型号 配置
AWS r4.large 2核16G

二 iredmail下载安装

该示例后续所有一级域名都需要按照实际使用域名来修改

2.1 初始化服务器
#升级系统软件到最新,不然会有报错
yum update -y
#修改主机名为mail.domain.com ,和邮件服务器地址一致
hostname mail.domain.com
/etc/hosts
/etc/hostname
hostname -f

#关闭selinux
/etc/selinux/config
setenforce 0
#下载最新稳定版,需要centos7版本
wget -c https://codeload.github.com/iredmail/iRedMail/tar.gz/1.0
#解压安装
tar xf iRedMail-1.0.tar.gz && cd iRedMail-1.0
bash iRedMail.sh #根据输出提示,输入mysql密码,管理员密码,域名,邮件存放地址等等信息完成配置文件生成,最后输入y确认安装,默认iredmail会配置mysql,iptables规则

官方安装文档:https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html

2.2 域名解析

iredmail邮件服务器部署

2.3 安全组开放端口

iredmail邮件服务器部署_第1张图片

三 优化邮件服务器

邮件服务器添加SPF,DKIM,DMARC,PTR,提高邮件送达率

3.1 设置SPF

SPF 记录是一种域名服务 (DNS) 记录,可确定允许哪些邮件服务器代表您的域来发送电子邮件。

  1. a:所有该域名的A记录都为通过,a不指定的情况下为当前域名

  2. ip4:指定通过的IP

  3. mx:mx记录域名的A记录IP可以发邮件

  4. all:结束标志,“-”表示只允许设置的记录为通过,“~”表示失败,通常用于测试,“+”表示忽略SPF

    如图:
    iredmail邮件服务器部署

3.2 设置DKIM

DomainKeys Identified Mail的缩写,域名密钥识别邮件标准。

amavisd showkeys #如果报错制定配置文件
amavisd -c /etc/amavisd/amavisd.conf showkeys
#输出去掉括号和引号
v=DKIM1; p=MIGfMA0GCSqsdfdsfQEBAQUAA4GNADCBiQKBgQdsfdsfIydbCBnARzt0m8yVQwpQIJUebYk09TvDu56kAQEXuVNDS5G8DjvvCUslq/1+/EKcafvVh82of3rONn0wPhRpBm2CfDTD8pEWHmT6BRa+su9zJ02iomgHYl14sfxxfsdf

如图:

iredmail邮件服务器部署

3.3 设置DMARC

DMARC协议是有效解决信头From伪造而诞生的一种新的邮件来源验证手段,为邮件发件人地址提供强大保护,并在邮件收发双方之间建立起一个数据反馈机制。

如图:

iredmail邮件服务器部署

3.4 PTR

PTR记录也就是IP反向解析,我们常见的解析都是将域名A记录解析到IP,PTR则是将IP反向解析到对应的域名,通过设置PTR可以提高发信方的信誉,从而提高到达率。

AWS默认就做了PTR

iredmail邮件服务器部署

​ 但不是我们需要的反向解析,这里没做修改,如果需要修改则需要提工单改为mail.domain.com

iredmail邮件服务器部署_第2张图片

附AWS申请更改PTR和取消邮件限制地址:https://aws.amazon.com/tw/blogs/aws/reverse-dns-for-ec2s-elastic-ip-addresses/,一般1-3天内会配置好,并且会邮件提醒你。

#反向解析测试
dig -x ip +short3
host ip

四 邮件记录示例

主机记录 记录类型 记录值
mail A 44.xx.xx.xx
@ MX mail.domain.net (优先级10)
@ TXT v=spf1 a mx -all
_dmarc TXT v=DMARC1;p=reject;[email protected]
dkim._domainkey TXT v=DKIM1; p=MIGdsfdtgSqGSIb3DQEBAQUAA4GNADCBiQdfdgd3sTQzCYISM8i1qIChZjgYNwgZGy5XcJQvoApzd1UJbaMVIhJ2Zae2Rc15SFKQgwuxO6bch0coe/IS/wvRuruZ6BDCwjgoVrxY+OsAOpdsfddUD12LVMmG2jDkZ0UJ4XSxx1+RVwIDAQAB

五 备注

  1. postfix日志路径:/var/log/maillog

  2. mariadb默认数据库目录存放在/var/lib/mysql,安装完成后需要停掉切换到/data/mysql下

    #关闭并全备mariadb
    systemctl stop mariadb
    nestat -ntlp|grep mysql
    cp -a /var/lib/mysql /data/
    
    #修改下配置文件指定mariadb datadir
    vim /etc/my.cnf
    datadir=/data/mysql
    
    #启动
    systemctl start mariadb
  3. 默认后台管理地址:https://mail.domain.com/iredadmin/ 账号:[email protected] 密码:安装时指定

  4. web mail地址:https://mail.domain.com/mail/ 账号:[email protected] 密码:安装时指定

  5. #各服务默认端口
    POP3 service: port 110 over TLS (recommended), or port 995 with SSL.
    IMAP service: port 143 over TLS (recommended), or port 993 with SSL.
    SMTP service: port 587 over TLS.
    CalDAV and CardDAV server addresses: https:///SOGo/dav/
  6. 默认邮件存放路径:/data/vmail/ (安装时指定)

  7. 修改邮件附件大小限制:https://docs.iredmail.org/change.mail.attachment.size-zh_CN.html

    209715200 #200M
    postconf -e message_size_limit='209715200'
    
    postconf -e mailbox_size_limit='209715200'
    
    #后续步骤省略,请看官方文档

六 客户端配置

6.1 Foxmail配置

iredmail邮件服务器部署_第3张图片

七 优化检测

7.1 通过http://www.mail-tester.com/ 测试邮件服务器

iredmail邮件服务器部署_第4张图片

通过邮件账号发送一封邮件 到上面的邮箱,查看邮件得分,它会提醒还有哪些不足,假如邮件服务器,原本就在黑名单内,那么该ip之前使用者存在滥用导致,只有一个办法,更换ip来解决。

7.2 QQ邮箱优化
  • 注册合作伙伴(国内大部分邮箱都是qq邮箱)

    通过openmail.qq.com来提高qq邮箱发件成功率,截止我配置邮件服务器,该地址功能目前处于维护状态,不知何时好。

7.3 设置grey list,解决收件延迟问题

iredmail邮件服务器部署_第5张图片