吴名

吴名的博客

他的个人主页  他的博客

postfix,Extmail的全功能邮件系统

吴名  2009年11月28日 星期六 13:11 | 2416次浏览 | 4条评论

extmail官方的网站给出的文档和安装的rpm都是针对CentOS4的,看了一下,发现针对CentOS5的,这个链接的文档写的很好: http://blog.onecheng.com/archives/397  

http://blog.chinaunix.net/u/3675/showart_440737.html

,该作者显然linux功底比较深厚,他是自己从源码编译rpm包。

只是有一个地方需要改一下,按照该文安装好之后,不能收信,系统日志提示: permission denied maildrop: temporary authentication failure。 搜索了一下,看来应该在编译courier-authlib 的时候加入两个选项 --with-mailuser  --with-mailgroup

按照该文的做法就应该在/usr/src/redhat/SPEC/courier-authlib.spec 文件中找到

%configure -C 一行,在里面加上--with-mailuser=uname --with-mailgroup=gname

这里uname:gname就是你手工为extmail创建的用户。 然后用rpmbuild -ba courier-authlib.spec 生产的rpm文件装上就可以了。

 

还有一点安装时注意的是,要让服务器接收外部邮件,记得检查postfix的main.cf文件 inet_interfaces=要设定成all, 不然smtp连不到这个服务器的。

 

附安装过程

 

 

 

在CentOS5.2安装基于postfix,Extmail的全功能邮件系统(一)

该文档参考 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

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
黄国荣

回复 黄国荣  2009年11月28日 星期六 13:23

extmail的核心成员Chifeng兄,也在哲思社区

1条回复

吴名

回复 吴名  2009年11月28日 星期六 13:12

怎么成这个样子了

1条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号