2. 基础知识
发邮件协议:smtp(Simple Mail Transfer Protocol) 端口25
收邮件协议:pop3(Post Office Protocol 3 ) 端口110
收邮件协议:imap, 优于pop3,可以根据用户需求指定下载删除邮件,而不是下载全部,端口143
MTA: mail transfer agent 邮件传输代理,发邮件的(sendmail,postfix)
MRA: mail retravial agent 邮件检索代理,收邮件(dovecot)
MDA: mail delivery agent 邮件投递代理,帮助投递邮件(maildrop)
MUA: mail user agent 邮件用户代理,个人主机上的收发代理软件(outlook,foxmail)
3. iredmail
iRedMail 为一个开源项目,基于GPL(v2)协议发布。官网 www.iredmail.org (国内不能访问),可以通过www.iredmail.com访问。
iRedMail 核心组件及其对应的功能:
Postfix: SMTP 服务器
Dovecot: POP3/IMAP/Managesieve 服务器
Apache: Web 服务器
MySQL: 用于存储其它程序的数据,也可用于存储邮件帐号。
OpenLDAP: 用于存储邮件帐号。
Policyd: Postfix policy server
Amavisd: 提供 DKIM 签名及校验、SPF校验、为外发邮件添加“免责声明”内容,并调用 SpamAssassin 做基于邮件内容的发垃圾扫描,调用 ClamAV 做邮件病毒扫描。
Roundcube: Webmail
Awstats: 用于分析 Apache 和 Postfix 日志文件,并生成简单的图表。
Fail2ban: 扫描各种日志文件,发现多次密码错误等情况时可自动封禁对方 IP 一段时间。用于保证服务器安全。
iRedAdmin:基于 web 的邮件帐号管理程序。
iredmail安装
准备工作:
hostname mail.lishiming.net
vim /etc/hosts //加入
127.0.0.1 mail.lishiming.net
106.187.51.47 www.iredmail.org iredmail.org
配置DNS解析:
MX记录 mail.lishiming.net
A 记录 把mail.lishiming.net 指向一个IP,这个IP就是我们要做邮件服务器的ip
下载iRedMail
wget http://www.iredmail.com/iRedMail-0.9.2.tar.bz2 (当前最新版本为0.9.2,以后会变,请到http://www.iredmail.com/download.html 下载最新版本)
若你的服务器为国内服务器,那么在安装前需要做一些处理:
tar jxvf iRedMail-0.9.2.tar.bz2
cd iRedMail-0.9.2/pkgs
vi get_all.sh // 把 https://mirrors.fedoraproject.org 改为 http://mirrors.fedoraproject.org
sed -i ‘s/iredmail.org/106.187.51.47/g‘ get_all.sh
cd ..; sh iRedMail.sh //这个过程需要很久,耐心等待有一步骤是问我们是否打开防火墙,建议大家不要开启:
Would you like to use firewall rules provided by iRedMail now?
< Question > File: /etc/sysconfig/iptables, with SSHD port: 22. [Y|n]n
5. 使用邮箱系统
安装完后,看下这些服务是否启动: 使用命令pstree
for s in httpd iredapd amavisd clamd postfix dovecot cbpolicyd spamassassin clamd.amavisd saslauthd fail2ban; do /etc/init.d/$s restart; done
[Dovecot 启动失败: vim /etc/dovecot/dovecot.conf
listen= * [: :]改为listen= * ---关闭ipv6]
/etc/init.d/dovecot restart ---重启
安装完后,登陆iredadmin 创建用户,并登录 Roundcube系统测试收发邮件。在该步骤中,你可能会遇到这样的问题:发邮件正常,收邮件非常慢,需要等十分钟之久,查看maillog发现这样的提示:Recipient address rejected: Greylisting in effect, please come back later。这是因为Policyd服务造成的,解决办法:
vim /etc/policyd/cluebringer.conf //找到 Greylisting这个模块,在前面加#
然后重启dovecot/postfix/cbpolicyd服务 : service dovecot restart; service postfix restart; service cbpolicyd restart