【转帖】postfix + cyrus imapd电子邮件服务器的搭建
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="TextH200" align="center">
</td> </tr> <tr> <td class="TextH180" align="center">发布时间: 2006年12月17日 10:24:40</td> </tr> <tr> <td class="TextH180" align="left">一、系统服务的安装
1、检查当前系统中是否有SendMail或者其他邮件服务器在运行了
netstat -nutlp | grep :25
如果有相关的服务在运行,请现停止相关的服务程序,
比如停止SendMail:
/etc/rc.d/init.d/sendmail stop
chkconfig sendmail off
2、安装postfix服务
找到系统光盘中的关于postfix的rpm包(postfix-2.3.3-2.i386.rpm)
rpm -ivh postfix-2.3.3-2.i386.rpm
二、postfix服务的基本配置
postfix的主配置文件是/etc/postfix/main.cf, 该文件中的内容虽然多,但是大部分都是#开头的注释,需要修改的内容并不是很多,下面我们来逐步修改相关的配置来达到可以使用邮件客户端顺利收发邮件的目标。
1、设置运行postfix的邮件主机名称、域名
myhostname = mail.ojava.net
mydomain = ojava.net
2、设置由本机寄出的邮件所使用的域名或者主机名
myorigin = $mydomain
3、设置postfix服务监听的网络接口
默认情况下inet_interfaces参数的值被设置为localhost,这表示只能在本地邮件主机上寄信。通常情况下会放开所有的网络接口,以便接收从任何网络接口的邮件。
inet_interfaces = all
4、设置可接收邮件的主机名称或域名
这个选项可以用来抵制垃圾邮件的骚扰
mydestination = $mydomain, $myhostname
5、设置可转发(Relay)哪些网络的邮件
mynetworks = 192.168.16.0/24
6、设置可转发哪些网域的邮件
relay_domains = ojava.net
完成如上配置之后需要重新启动postfix服务,到这里,postfix的服务器准备好了,不过目前它只能用来发信,还不支持收信的功能。
三、安装cyrus-imapd服务实现pop和imap功能
1、安装cyrus-imapd
从系统光盘中找到如下软件包:
cyrus-imapd-.......i386.rpm
cyrus-imapd-devel-.......i386.rpm
cyrus-imapd-murder-.......i386.rpm
cyrus-imapd-nntp-.......i386.rpm
cyrus-imapd-utils-.......i386.rpm
perl-Cyrus-.......i386.rpm
其中最后一个包需要首先安装。
然后依次通过rpm -ivh 逐个安装
2、cyrus-imapd的基本配置
cyrus-imapd的基本配置文件的内容一般不需要修改,只需要启动服务就可以了。但是postfix默认不支持Cyrus-IMAP邮箱,因此为了 让postfix和cyrus-imapd整合在一起,需要修改postfix的配置,在/etc/postfix/main.cf中添加如下内容:
mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
3、启动cyrus-imapd服务并设置为自动启动
service cyrus-imapd start
chkconfig cyrus-imapd on
4、用户邮件信箱的管理
Cyrus-IMAP的一个优点就是它可以为每个用户创建一个邮件信箱,而且这种信箱可以具有层次结构。默认情况下Cyrus-IMAP的邮件信箱位于/var/spool/imap目录下。创建邮箱时,为每个邮件信箱的命名格式如下:
信箱类型.名称[.文件夹名称[.文件夹名称]]...
a、为Cyrus-IMAP管理员帐号cyrus设置密码
passwd cyrus
b、使用cyradm管理工具为用户创建邮件信箱
/usr/lib/cyrus-imapd/cyradm -u cyrus localhost
localhost.localdomain> createmailbox user.steven
localhost.localdomain> createmailbox user.steven.Send
localhost.localdomain> createmailbox user.steven.Trash
localhost.localdomain> createmailbox user.steven.Drafts
c、为用户邮箱设置配额
localhost.localdomain> setquota user.steven 5210
查看配额
localhost.localdomain> listquota user.steven
d、为用户信箱设置权限
localhost.localdomain> setacl user.steven cyrus all
localhost.localdomain> listacl user.steven</td></tr></tbody></table>