Sendmail+dovecot+openwebmail 配置
一、前言
电子邮件系统已经是家喻户晓的应用系统,目前的主流的邮件系统包括
SendMail
、
exchange
、
Lotus Notes
、
Qmail
、
Postfix
等。对于中小企业来说,基于企业内部的邮件收发应用,这里采用
sendmail
和
dovecot
以及
openwebmail
来搭建整个完整的邮件系统。
二、理解
1
.网上很多资料显示在安装该邮件系统时,安装了
dns
功能,其实安装
sendmail
和
dovecot
以及
openwebmail
这整套邮件系统并不需要给服务器安装
dns
服务。只需在域名注册商处添加域名的
mx
记录和
A
记录即可。
比如指定一个
mx
记录为
mail.xxx.com
,其中
xxx
为注册过的域名,再将
mail.xxx.com
和
pop3.xxx.com
和
smtp.xxx.com
(这两个可以作为配置客户端时用)做一条
A
记录指向服务器
IP
地址。
2
.
Sendmail
只是提供
smtp
功能,也就是只能对外发送邮件,无法接收外来的邮件,因此还要安装
dovecot
这个具有
pop3/IMAP
功能的包,这样才算完整。
3
.另外安装并配置好
sendmail
和
dovecot
之后,在
linux
里或者用客户端,比如
foxmail
便可以收发邮件,但是没有提供
web
功能,要实现此功能,便要安装配置
openwebmail
。当然这需要
apache
的支持,事先应安装好
apache
保持默认安装即可。
三、安装准备
1.安装平台
OS
:
redhat enterprise linux 5 update 3
Apache
版本:
httpd- 2.2.3 -22.el5
本次安装均采用
RPM
方式安装
注意安装系统之前最好安装全部的编译工具如
perl
等,
openwebmail
需要。如果没安装,根据提示安装依赖包
2.软件准备
需要准备以下软件:
sendmail- 8.13.8 -2.el5.i386.rpm
sendmail-cf- 8.13.8 -2.el5.i386.rpm
sendmail-doc- 8.13.8 -2.el5.i386.rpm
dovecot- 1.0.7 -7.el5.i386.rpm
openwebmail-2.52-1.i386.rpm
3.安装
A
.安装配置sendmail
由于
sendmail
的配置文件
sendmail.cf
较为复杂,可以修改模版文件
sendmail.mc
配合
sendmail-cf
目录下的宏通过
m4
预处理器自动生成
cf
文件
修改
/etc/mail/sendmail.mc
文件以下的部分:
注意:
mc
中的注视是
以
dnl
开头,以
dnl
结尾,启用一条配置,只需删除前面的
dnl
字符串并且前面不要留空格。
DAEMON_OPTIONS(`Port=smtp,Addr= 0.0.0 .0, Name=MTA')dnl //
让服务器监视所有过来的
ip
地址
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
这两行开启
smtp
验证。
LOCAL_DOMAIN(`xxx.com')dnl //
配置本地域名
其他默认即可,然后在
/etc/mail/
下执行命令:
m4 sendmail.mc >sendmail.cf
此时如果不做其他配置,
sendmail
便可以正常发送邮件。
B
.安装配置dovecot
修改
/etc/dovecot.conf
Protocols = imap imaps pop3 pop3s
启用
dovecot
Service dovecot restart
让
dovecot
自启动。
Chkconfig dovecot on
配置
pop3
的验证
进入目录
cd /etc/pki/tls/certs/
Make dovecot.pem
输入密钥相关信息
编辑
/etc/dovecot.conf
加入一下两行:
Ssl_certfile = /etc/pki/dovecot/certs/dovecot.pem
Ssl_key_file = /etc/pki/dovecot/certs/dovecot.pem
C.
安装配置openwebmail
安装完毕后修改配置文件。
/var/www/cgi-bin/openwebmail/etc/dbm.conf
内容修改为以下内容
db_ext .db
dbmopen_ext .db
dbmopen_haslock yes
初始化
openwebmail
在路径
/var/www/cgi-bin/openwebmail
下使用命令
./openwebmail-tool.pl �Cinit
来初始化。
最后会要求发送报告到开发者,以便于他能搜集有多少机器在跑
openwebmail
。
按
y
即可
修改相关默认配置,编辑
/var/www/cgi-bin/openwebmail/etc/openwebmail.conf
文件。
default_language zh_cn gb2312
将预设语言改为简体中文。
default_iconset Cool 3D.Chinese.Simplified
将原有的
English
改为
Chinese.Simplified,
显示中文图标。
Domainnames xxx.com
更改为自己定义的域名。
auth_module auth_unix.pl
将用户认证方式改为使用
/etc/passwd
及
/etc/shadow
文件。
接下来就可以用
http://mail.xxx.com/cgi-bin/openwebmail/openwebmail.pl
就可以访问到
openwebmail
了
显然用这种方式访问显得过于麻烦。
这里做一个网页的重定向。
在
/var/www/html
目录下新建一个网页文件
redircet.html
输入如下内容:
<html>
<head><meta http-equiv="Refresh" content="0;URL=/cgi-bin/openwebmail/openwebmail.pl">
</head>
<body onload="window.open('/cgi-bin/openwebmail/openwebmail.pl','_top')">
</body>
</html>
保存退出即可
这时便可以用
mail.xxx.com
来直接访问
openwebmail
了。
D.
为sendmail
添加用户
这里的
sendmail
通过
passw
和
shadow
文件验证账号和密码,因此直接用系统命令创建用户组和用户即可。
首先创建用户组:
groupadd mailuser
再为该组创建用户:
adduser �Cg mailuser �Cd /home/xxx �Cs /sbin/nologin xxx //
创建了一个属于
mailuser
组的用户,该用户不能登录系统。
Passwd xxx //
修改
xxx
用户的密码。
以上便创建了一个
sendmail
用户,可以在
openwebmail
里登录,收发邮件。
以上便是
sendmail+dovecot+openwebmail
最简单的安装过程。
注意:以上操作在公网上顺利完成。
接下来最复杂之处在于对
sendmail
的管理。加油!