6. 安装ExtMail和extman
yum install extsuite-webmail
cd /var/www/extsuite/extmail
cp webmail.cf.default webmail.cf
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_CAPTCHA_ON = 0 //不需要认证码
mkdir /tmp/extman
chown vuser.vgroup /tmp/extman
设置虚拟域和虚拟用户的配置文件
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
测试authlib认证:
/usr/sbin/authtest -s login postmaster@extmail.org extmail
Authentication succeeded.
Authenticated: postmaster@extmail.org (uid 1000, gid 1000)
Home Directory: /var/mailbox/extmail.org/postmaster
Maildir: /var/mailbox/extmail.org/postmaster/Maildir/
Quota: (none)
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
Options: (none)
这样表明ExtMan的正确安装,数据库也正确导入,courier-authlib能正确连接到mysql数据库
修改httpd.conf文件
NameVirtualHost *:80
Include conf/vhost_*.conf
vi /etc/httpd/conf/vhost_extmail.conf
<VirtualHost *:80>
ServerName mail.lx.com
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
7. 访问及测试
选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org
密码为:extmail*123*
登录成功后创建虚拟域和虚拟用户
使用telnet登录25和110端口进行测试
telnet localhost 25
ehlo localhost
auth login
perl -MMIME::Base64 -e 'print encode_base64("abc\@lx.com");'
perl -MMIME::Base64 -e 'print encode_base64("123");'
mail from:a@lx.com
rcpt to:b@lx.com
data
blablablaba
.
quit
telnet localhost 110
user b@lx.com
pass 123
list
retr 1
dele 1
quit
测试maildrop,输出如下:
echo "test mail" | maildrop -V 10 -d abc@lx.com
maildrop: authlib: groupid=1000
maildrop: authlib: userid=1000
maildrop: authlib: logname=abc@lx.com, home=/var/mailbox/lx.com/abc, mail=/var/mailbox/lx.com/abc/Maildir/
maildrop: Changing to /var/mailbox/lx.com/abc
Message start at 0 bytes, envelope sender=abc@lx.com
maildrop: Attempting .mailfilter
maildrop: Delivery complete.
如果发信提示:
SMTP rcpt error: 5.1.1 : Recipient address rejected: User unknown in local recipient table
请在/etc/postfix/main.cf里面确保存在下面配置
local_recipient_maps =
如果发送邮件成功,但是无法接收邮件,请注释掉下面三项:
#mydestination
8. 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
=========================
9. 邮件过滤:
Postfix可以根据“client, sender, recipient”对邮件进行过滤
postfix可以使用“smtpd_*_restrictions”参数对邮件进行约束,其中的“*” 可以以“client, sender等”代替。
1).smtpd_client_restrictions
针对client进行限制,编辑/etc/postfix/main.cf,添加以下参数
smtpd_client_restrictions = hash:/etc/postfix/client_access
这条语句的意思是要我们将把客户端的限制策略加入一条限制规则"check_client_access":把针对客户的限制写在client_access文件中,并且以hash数据库的形式存储。