本地用户作为邮件账号
配置DNS,MX记录
1. 安装postfix
rpm -ivh postfix-2.3.3-2.1.el5_2.i386.rpm
修改postfix配置文件
vim /etc/postfix/main.cf
inet_interfaces = $myhostname, localhost
myhostname = mail.lx.com
mydomain = lx.com
mydestination = $myhostname, $mydomain, localhost
启动postfix
service postfix restart
2.安装dovecot
rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
启动:service dovecot restart
3.测试:
telnet 方式收/发信测试
thunderbird
squirrelmail
4.实现虚拟域和虚拟用户:postfix+dovecot+mysql+extmail
创建本地用户和组,作为虚拟用户的映射,所有虚拟用户都映射成为vuser用户和vgroup组。
groupadd -g 1000 vgroup
useradd -u 1000 -g 1000 -M vuser
创建邮箱:mkdir /var/mailbox
chown vuser.vgroup /var/maiibox
[root@mail tmp]# grep -v "#" /etc/dovecot.conf | uniq
protocols = pop3 imap //让dovecot支持pop3和imap4协议。
mail_location = maildir:/var/mailbox/%d/%n/Maildir //设置邮箱路径及格式,%d为域名,%n为用户名,邮箱类似:/var/mailbox/up.com/abc/Maildir/{new,cur}
protocol imap {
}
protocol pop3 {
}
protocol lda {
postmaster_address = root@up.com //邮件管理员邮箱
}
auth default {
mechanisms = plain login //登录验证,明文验证
passdb pam {
}
passdb sql {
args = /etc/dovecot-sql.conf //密码保存到mysql数据库中,使用数据库验证
}
userdb passwd {
}
userdb sql {
args = /etc/dovecot-sql.conf //用户名保存到mysql数据库中
}
user = root
socket listen {
master {
path = /var/run/dovecot/auth-master //把dovecot当做MDA,postfix收到信后通过smtp交给dovecot,dovecot再把信放到邮箱里或者转发。
mode = 0600
user = vuser //虚拟用户映射的系统账号名
group = vgroup //映射的组名
}
client {
path = /var/spool/postfix/dovecot-auth //postfix使用和dovecot一样的验证类型,
mode = 0660
user = postfix 此文件能让postfix用户具有读的权限,通过它来实现验证
group = postfix
}
}
}
dict {
}
plugin {
}
[root@mail tmp]# grep -v '#' /etc/dovecot-sql.conf
driver = mysql //用户名和密码到mysql数据库里验证
connect = host=localhost dbname=extmail user=extmail password=extmail //指明mysql数据库的信息,extmail在后面安装extmail是会产生。
default_pass_scheme = CRYPT //数据库里密码保存的方式(md5加密)
password_query = SELECT username, password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir,uidnumber as uid, gidnumber as gid FROM mailbox WHERE username = '%u'
启动dovecot,有问题看日志/var/log/maillog
5.postfix的设置
为了使dovecot成为MDA,还需要修改master.cf和main.cf文件
vim master.cf修改如下
dovecot unix - n n - - pipe
flags=DRhu user=vuser:vgroup argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
注意user=vuser:vgroup,为映射的系统账号,及flags前面要有空格。
虚拟域和虚拟账号保存在mysql数据库里,为了使postfix支持mysql,需要升级postfix
rpm -Uvh postfix-2.5.9-5.ired.i386.rpm
使用postconf -m查看当前postfix是否支持mysql。
main.cf文件的设置:
smtpd_sasl_auth_enable=yes
smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf //支持虚拟域,虚拟域保存到mysql里
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf //邮箱账号保存在mysql里
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf //支持邮箱别名
virtual_transport = dovecot //使用dovecot作为虚拟域的MDA(dovecot在master.cf里定义的)
virtual_mailbox_base = /var/mailbox //邮箱路径
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot //smtp认证和dovecot认证一样
smtpd_sasl_path = dovecot-auth //postfix通过读取dovecot-auth这个套接字文件来认证
virtual_uid_maps = static:1000 //映射的系统账号的uid和gid
virtual_gid_maps = static:1000
6.安装apache、mysql
7. 安装ExtMail和extman实现webmail和邮件后台管理
yum install extsuite-webmail
cd /var/www/extsuite/extmail
cp webmail.cf.default webmail.cfc
vi webmail.cf
语言选项,可改作:
SYS_USER_LANG = zh_CN
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox/
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/
yum install extsuite-webman
vim /var/www/extsuite/extman/webman.cf
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox
SYS_SESS_DIR = /tmp/extman/
SYS_CAPTCHA_ON = 0 //不需要认证码
mkdir /tmp/extman
chown vuser.vgroup /tmp/extman -R
设置虚拟域和虚拟用户的配置文件
cp /var/www/extsuite/extman/docs/mysql_virtual_*.cf /etc/postfix/
chown -R vuser:vgroup /var/www/extsuite/extman/cgi/
导入mysql数据库结构及初始化数据
cd /var/www/extsuite/extman/docs
# mysql -u root -p <extmail.sql
# mysql -u root -p <init.sql
修改httpd.conf文件
NameVirtualHost *:80
Include conf/vhost_*.conf
vi /etc/httpd/conf/vhost_extmail.conf
<VirtualHost *:80>
ServerName mail.extmail.org
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/
Alias /extmail /var/www/extsuite/extmail/html/
ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/
Alias /extman /var/www/extsuite/extman/html/
SuexecUserGroup vuser vgroup
</VirtualHost>
service httpd restart
8. 访问及测试
http://mail.lx.com/extman
选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org
密码为:extmail*123*
登录成功后创建虚拟域和虚拟用户
使用telnet登录25和110端口进行测试
perl -MMIME::Base64 -e 'print encode_base64("abc\@lx.com");'
perl -MMIME::Base64 -e 'print encode_base64("123");'
添加虚拟域和虚拟账号,如果不能创建邮箱需要在main.cf文件里注释
#mydestination
cd /var/www/extsuite/extmail/html/plugins/
vim rpc_init.js
6 // "http://rpc-srv01.extmail.net/phprpc/rpc.php",
7 // "http://rpc-srv02.extmail.net/phprpc/rpc.php",
8 // "http://rpc-srv03.extmail.net/phprpc/rpc.php",
// "coolweather",
13 // "etnews",
14 // "chkupdate",
注释不用外网解析
9. extman图形日志:
/usr/local/mailgraph_ext/mailgraph-init start
/var/www/extsuite/extman/daemon/cmdserver --daemon
开机自启动:
# echo “/usr/local/mailgraph_ext/mailgraph-init start” >> /etc/rc.d/rc.local
显示系统信息
# echo “/var/www/extsuite/extman/daemon/cmdserver -v -d” >> /etc/rc.d/rc.local
转载地址: