中文名为“艾瑞得邮件”,由 rhms 项目更名而来。是针对 Linux 设计的邮件服务器解决方案,是在操作系统安装好后使用的一套 shell 脚本,用于快速部署一套功能完善的邮件服务器解决方案。
iRedMail谷歌开源地址:http://code.google.com/p/iredmail/
iRedMail官网地址:http://www.iredmail.org/(国内被墙,鄙视之)
iRedMail系统要求
iiRedMail安装需要干净的系统环境,意思是服务器不存在与iredmail相关的组件,如Apache,MySQL,OpenLDAP,Postfix,Dovecot,Amavisd等。否则会覆盖原来的配置文件,甚至导致iredmail安装失败。
为了能安装iredmail,你需要满足以下两个条件:
- 一个干净的系统,如RHEL,CentOS,Scientific Linux 系统。
- 不低于512MB的内存。
- 配置好yun源
iRedMail组件
iRedMail主要是使用下面软件来构建邮件系统。
- Apache 2.2.x
- PHP 5.3.x
- MySQL 5.1.x
- OpenLDAP 2.4.x
- Postfix 2.7.x ( MTA )
- Dovecot 1.2.x
- Amavisd 2.6.x
- ClamAV 0.9x
- SpamAssassin 3.2.x
- Policyd 1.8.x
- Pysieved 1.0
- Roundcube 0.7.2 (Webmail )
- phpMyAdmin 3.3
- phpLDAPadmin 1.2
- Awstats 6.9
组件的工作原理
amavisd-new 在这里的作用主要是:
- 负责调用 ClamAV 对邮件进行病毒扫描
- 负责调用 SpamAssassin 对邮件内容进行过滤
- 实现 DKIM 签名和验证功能,还有实现免责声明的功能。
1. 当邮件发送到服务器的25端口,Postfix接受连接,它会做一些基本检查
- 发送者是否在黑名单或者实时黑名单,如果在黑名单,马上拒绝
- 是否是授权用户,可以进行转发
- 接收者是否是服务器的用户,如果不是,马上拒绝
- 如果我们启用的灰名单,那么会拒绝邮件或者接收
2. Postfix 把邮件通过10024端口交给amavis来处理,注意amavis,只会检查邮件而不会丢弃或者拒绝邮件。
3. amavis调用SpamAssassin检查邮件是否是spam,如果SpamAssassin认为邮件是垃圾邮件,会给邮件打上标记spam
4. amavis调用ClamAV,看邮件是否含有病毒
5. amavis把检查完的邮件,通过10025端口重新把邮件交回给postfix
6. postfix把邮件交给LDA(local delivery
agent),LDA是负责本地邮件投放到用户的邮箱,(我们这里使用dovecot提供的LDA功能,而不是postfix提供的LDA)邮件会进入用
户的邮箱,Dovecot会执行用户设置的filter,也就是Dovecot通过调用Sieve,放到相关的文件夹
7. Dovecot 把邮件以maildir的方式存放在硬盘上。
8. 用户使用邮件客户端,通过pop3或imap协议进行连接。webmail RoundCube,是通过imap的方式来读取邮件。
安装iRedMail
参考:http://www.iredmail.org/install_iredmail_on_rhel.html
安装完成之后需要知道的重要事情
1、阅读/root/iRedMail-x.y.z/iRedMail.tips,它包含一些与iredmail相关的信息
2、为SPF设置dns记录http://code.google.com/p/iredmail/wiki/DNS_SPF
3、为DKIM设置DNS记录http://code.google.com/p/iredmail/wiki/DNS_DKIM
webmail和其它一些程序的入口
Webmail http://your_server/mail/ (or /webmail, /roundcube)
iRedAdmin (admin panel) https://your_server/iredadmin/
phpMyAdmin https://your_server/phpmyadmin/
phpLDAPadmin https://your_server/phpldapadmin/
Awstats https://your_server/awstats/awstats.pl?config=web (or ?config=smtp)
添加新的域名DKIM
# amavisd genrsa /var/lib/dkim/linuxeye.com.pem # vi /etc/amavisd/amavisd.conf dkim_key("linuxeye.com", "dkim", "/var/lib/dkim/linuxeye.com.pem"); "linuxeye.com" => { d => "linuxeye.com", a => 'rsa-sha256', ttl => 10*24*3600 }, # amavisd -c /etc/amavisd/amavisd.conf showkeys #显示DKIM,添加DNS TXT记录 # amavisd -c /etc/amavisd/amavisd.conf testkeys #测试DKIM是否通过 TESTING#3: dkim._domainkey.linuxeye.com => pass
Fri Apr 26 21:05:15 CST 2013