该文档参考 http://www.extmail.org/docs/extmail_solution_linux/ 制作而成。
ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix, Amavisd-new, ClamAV, ExtMail 和ExtMan, Courier系列软件。是一个功能相对比较齐全的免费电子邮件系统。以下是其主要的特性列表:
- 支持SMTP/POP3/HTTP协议
- 支持SMTP认证及ESMTP
- 可支持大容量邮箱(大于1GB)
- 高速Web界面访问邮箱
- 完整的Web管理后台
- 在线服务端病毒过滤
- 内建内容过滤
- SMTP行为识别垃圾邮件
- 支持大量反垃圾邮件技术
- 图形化邮件日志分析
- 支持别名/多域/域管理员等
- 支持网络磁盘/POP3邮件
- 支持读/写HTML格式邮件
- 支持定制模板及多语言
软件包 |
安装方式 |
Postfix |
编译制作 RPM 包 |
MySQL |
系统自带 |
Maildrop |
编译制作 RPM 包 |
Courier-IMAP |
编译制作 RPM 包 |
ExtMail |
源码包 |
ExtMan |
源码包 |
ClamAV |
下载 RPM 包 |
Spam Locker |
源码包 |
Amavisd-new |
源码包 |
SpamAssassin |
系统光盘自带 |
Cyrus SASL |
系统自带 |
Courier Authlib |
编译制作 RPM 包 |
Apache |
系统自带 |
操作系统安装的组件 |
Editors , WebServer , FTPserver , Mysql ( libdbi-dbd-mysql , mysql-server , perl-DBD-MySQL ) |
如果在安装系统的时候没有安装某些包,在接下来安装邮件系统的时候根据提示安装上就行了。
1 安装配置 postfix
1.1 制作 RPM 安装包
下载最新的源码包, http://ftp.wl0.org/official/2.5/SRPMS/ 目前是 postfix-2.5.6-1.src.rpm
rpm -ivh postfix-2.5.6-1.src.rpm
使用该命令就把源代码安装到 /usr/src/redhat/SOURCES , postfix.spec 安装到了 /usr/src/redhat/SPECS ,
cd /usr/src/redhat/SPECS
vi postfix.spec
找到
%define with_cdb 0
%define with_ldap 1
%define with_mysql 0
%define with_mysql_redhat 0
%define with_pcre 0
%define with_pgsql 0
%define with_sasl 0
%define with_spf 0
%define with_dovecot 0
%define with_tls 1
%define with_tlsfix 2
%define with_vda 0
调整成:
%define with_cdb 0
%define with_ldap 0
%define with_mysql 0
%define with_mysql_redhat 1
%define with_pcre 0
%define with_pgsql 0
%define with_sasl 2
%define with_spf 0
%define with_dovecot 1
%define with_tls 1
%define with_tlsfix 2
%define with_vda 0
rpmbuild -ba postfix.spec
开始编译制作 postfix 的 rpm 包
完成之后,在 /usr/src/redhat/RPMS/i386 就能看到我们需要的 RPM 安装包。
1.2 安装 postfix
在安装 postfix-2.5.6-1.rhel5.i386.rpm 之前,需要先把系统自带的 senmail 卸载掉。
rpm -e –nodeps sendmail
开始安装 postfix
rpm -ivh postfix-2.5.6-1.rhel5.i386.rpm
1.3 配置 postfix
简化 postfix 配置 :
postconf -n > /etc/postfix/main2.cf
mv /etc/postfix/main.cf /etc/postfix/main.cf.old
mv /etc/postfix/main2.cf /etc/postfix/main.cf
再编辑 main.cf :
vi /etc/postfix/main.cf
增加如下内容:
# hostname
mynetworks = 127.0.0.1
myhostname = mail.onecheng.com
mydestination = $mynetworks $myhostname
# banner
mail_name = Postfix – by onecheng.com
smtpd_banner = $myhostname ESMTP $mail_name
# response immediately
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450
# extmail config here
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:
编辑 mysql_virtual_alias_maps.cf
vi /etc/postfix/mysql_virtual_alias_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = alias
select_field = goto
where_field = address
编辑 mysql_virtual_domains_maps.cf
vi /etc/postfix/mysql_virtual_domains_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx =’0′ and active =’1′
编辑 mysql_virtual_mailbox_maps.cf
vi /etc/postfix/mysql_virtual_mailbox_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = ‘1′
启动 postfix
service postfix start
回复 黄国荣 2009年11月28日 星期六 13:23
回复 吴名 2009年11月28日 星期六 13:34