本文使用的EMOS版本为1.5 64bit extmial 基于Centos release 5.3 定制系统,部署在IaaS私有云KVM虚拟机中,以下是部署与使用中遇到的问题及解决办法
一、更改WEB登录界面LOGO
1、替换 /var/www/extsuite/extmail/html/default/images/logo.gif 即可。
2、更改/var/www/extsuite/extmail/html/default/index.html 中src=”/extmail/default/images/logo.gif” 字段也可。
二、Postfix限制部分用户发送和接收外部邮件
修改/etc/postfix/main.cf 文件,加入如下内容
# smtpd related config
smtpd_restriction_classes = local_out local_in 定义类
local_in = check_recipient_access hash:/etc/postfix/local_domains,reject 定义本域
local_out = check_sender_access hash:/etc/postfix/local_domains,reject
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/local_out
check_recipient_access hash:/etc/postfix/local_in
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
# check_policy_service inet:127.0.0.1:10030
新建 local_domains 文件,定义域
test.com OK
新建 local_out 定义只可发送指定域名的用户
[email protected] local_out
[email protected] local_out
新建 local_in 定义只可接收指定域名的用户
yyy@test.com local_in
xxx@test.com local_in
postmap hash:/etc/postfix/local_in
postmap hash:/etc/postfix/local_out
重新加载配置文件 postfix reload
三、邮箱首页更改LOGO及背景图片
1、更改主页背景图片
更改login.css 文件中 .ms1 { background:url(/extmail/default/images/top.jpg) top no-repeat #fffdfd;} 字段,这里还可以更改背景图片区域的颜色。
更改login.css 文件中 #mantle { width:800px;margin:auto; clear:both; position:relative; top:0; left:0; margin-top:20px;} 字段,改变width 大小改变背景区域的宽度。
更改login.css 文件中 #mantle .fix { height:400px !important; height:154px;} 字段,改变height 大小改变背景区域的高度。
更改login.css 文件中 #phd {CLEAR: both; height:100px;FONT-SIZE: 12px; MARGIN: 0px auto 0px; WIDTH: 800px;} 字段,改变height 值可改变背景区域到顶部的距离。
2、更改登录后的使用区域到顶部距离
更改newstyle.css文件中 #TopBan {width:100%;height:100px;padding:0px;margin:0px;} 字段,改变height值可以改变使用区域到顶部的距离。
四、实现简单的邮件监控
任何用户的发件都抄送到制定的邮箱账户一份
在/etc/postfix/main.cf 加入一行
always_bcc = [email protected]
五、EXTMAIL 配置文件参数详解
项目主页:
http://www.extmail.org
最后更新:2008-04-29
本文档详细讲述Extmail的配置参数,给用户提供Extmail配置参数的使用参考。
本文档假设读者具有一定的Unix平台 / Linux平台系统经验,懂得vi编辑器的基本使用,并且懂得基本Extmail系统的
[url=javascript:;]安装[/url]
(具体Extmail系统安装问题请参考相关Extmail HOWTO)。
本文档所有内容基于ExtMail 1.0.4 和
[url=javascript:;]ExtMan[/url]
0.2.4版本,并由Extmail项目组根据Extmail项目的建设和发展,适时予以更新。如
[url=javascript:;]手册[/url]
与实际项目情况有冲突,以文档服从实际为原则。
一、webmail.cf
介绍:
webmail.cf文件用来对webmail的核心配置进行设定,该配置
[url=javascript:;]文件[/url]
对Extmail至关重要。
存放路径:
/var/www/extsuite/extmail/webmail.cf
注:如果没有按照官方HowTO安装系统,路径可能会有所不同,请根据您系统的实际情况而定。
参数说明:
SYS_CONFIG =
# 程序根目录路径,此路径必须指向extmail目录;
SYS_LANGDIR =
# 语言包目录路径,此路径必须指向extmail/lang目录;
SYS_TEMPLDIR =
# 系统模板目录路径,此路径必须指向extmail/html目录;
SYS_SHOW_WARN =
# 设置为1时,打印隐含的系统警告信息到标准输出(网页),默认为0;
SYS_PERMIT_NOQUOTA =
# 设置为0时,系统将不限制邮箱容量,默认设置为1;
SYS_SESS_DIR =
# 系统当前会话文件的保存目录,默认为/tmp/;
SYS_LOG_ON =
# 设置为1时系统将记录web登陆的日志,设置为0时不记录(日志记录在何处
# 由SYS_LOG_TYPE参数控制);
SYS_LOG_TYPE =
# 系统log的记录方式;分以下3种情况:
# file:自定义文件(具体文件,由SYS_LOG_FILE参数控制);
# syslog:系统syslogd指定的mail.*文件;
# nosyslog:系统syslogd指定的非本机的log文件;
SYS_LOG_FILE =
# 若sys_log_type 参数设置为files,此项指定files文件路径;
SYS_SESS_TIMEOUT =
# 系统超时设置,默认为3小时;
# 格式number+(s|m|h|d|M|y); 或者单纯数字,0代表系统超时为0秒
# 但是如果参数sys_sess_cookie_only设置为1则代表会话将在关闭浏览器后过期;
SYS_SESS_COOKIE_ONLY
# 该参数是指SID获取的来源。如果设置为1,则只根据cookie里的SID来获得,如果设置
# 为0,则同时从cookie及URL里取,如果没cookie则从URL里取。一般对于不支持cookie
# 的浏览器,得设置为0;
SYS_USER_PSIZE =
# webmail列表时,每页显示邮件数。默认10;
SYS_USER_SCREEN =
# 屏幕显示分辨率设置,默认auto;
# auto => full text
# screen1 => 800×600
# screen2 => 1024×768
# screen3 => 1280×1024
SYS_USER_LANG =
# 用户默认语言,
[url=javascript:;]中文[/url]
可以设置为zh_CN;
SYS_APP_TYPE =
# 当前配置文件对应的应用程序类型。必须填写Webmail;
SYS_USER_TEMPLATE =
# 指定界面风格模板文件,默认为default;
SYS_USER_CHARSET =
# 指定用户默认字符集,中文可以设置为gb2312;
SYS_USER_TRYLOCAL =
# 系统默认编码为utf8,外发邮件时,该参数控制是否尝试将邮件内容转成其他内码
# 可以转成对应的本地编码,例如gbk、big5、shift-jis等,1转、0是不转;
# 注意:如果设置了0但用户在偏好设置需要转换,系统还是会转换内码;
SYS_USER_TIMEZONE =
# 指定用户默认时区,默认为东八区:+0800;
SYS_USER_CCSENT = 1
SYS_USER_SHOW_HTML = 1
SYS_USER_COMPOSE_HTML = 1
SYS_USER_CONV_LINK =1
SYS_USER_ADDR2ABOOK = 1
# 系统默认用户参数;
SYS_MESSAGE_SIZE_LIMIT =
# 该参数控制写邮件时,单封信件的最大尺寸。以byte为单位,比如: 5242880 代表5MB;
SYS_MIN_PASS_LEN =
# 指定邮件账户最短
[url=javascript:;]密码[/url]
长度,默认2;
SYS_MFILTER_ON =
# 过滤器开关;1为开,0为关;
SYS_NETDISK_ON =
# 网络磁盘开关;1为开,0为关;若设置了0,则即使在extman内打开用户网络磁盘功能
# 用户都不能使用该功能;
SYS_SHOW_SIGNUP =
# 首页“注册免费邮箱”的按钮显示开关;1为显示,0为关闭;
SYS_AUTH_TYPE =
# 系统认证方式, 可选:mysql/ldap/authlib;
SYS_MAILDIR_BASE =
# 邮件数据存放目录路径,必须使用绝对路径,比如:/home/domains;
SYS_AUTH_SCHEMA =
[url=javascript:;]virtual[/url]
# 该设置有3个参数:vpopmail1/vpopmail2/virtual;
# virtual即虚拟帐户;
# vpopmail1 => all user accounts in one table 为对qmail+vpopmail(
[url=javascript:;]mysql[/url]
版)的支持;
# vpopmail2 => accounts in per domain table 为对qmail+vpopmail(mysql版)的支持;
SYS_CRYPT_TYPE =
# 密码加密方式,支持以下方式:
# crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1;
注:Extmail密码格式介绍:
一. scheme(密码模型)
Extmail支持明文,crypt,md5,md5crypt,sha/sha1等主流的9-10种密码格式,
采用如下的方法映射:
CRYPT => crypt
MD5 => md5
PLAIN-MD5 => plain_md5
LDAP-MD5 => ldap_md5
SHA => sha
SHA1 => sha
CLEARTEXT => clear
PLAIN => clear
二. 格式说明
Extmail可以辨认以下3种密码格式:
1. $1$hhhhhh$xxxxxxxxxxx
该格式以md5()结果为基础,用一串hhhhhh(随机数)的hash对md5进行加密得到的密码,xxxxxxxxxxxxx 就是md5密文数据,它的特征是以$1$为前缀,符合此说明的格式就是md5crypt。
2. {xxxx}yyyyyyyyyyyyyyy
该格式,{}里面是明文指定了密码模型,之后为加密数据。
比如:{MD5}xxxxxxxxxxxx,代表以MD5为加密方式,而xxxxxxxxxxxxx就是md5密文数据。
3. xxxxxxxxxxxxxxxxxxxxx
该格式是没有任何特征的密文,如果采用该格式,必须手工在webmail.cf和webman.cf的SYS_CRYPT_TYPE参数指定密码格式。
SYS_MYSQL_USER =
# MYSQL数据库用户信息设置,默认为:extmail;
SYS_MYSQL_PASS =
# MYSQL数据库用户密码设置;
SYS_MYSQL_DB =
# MYSQL数据库名设置;
SYS_MYSQL_HOST =
# MYSQL数据库主机,默认为:localhost;
SYS_MYSQL_SOCKET =
# MYSQL数据库SOCKET位置设置,默认为:/var/lib/mysql/mysql.sock;
SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
SYS_MYSQL_ATTR_QUOTA = quota
SYS_MYSQL_ATTR_NDQUOTA = netdiskquota
SYS_MYSQL_ATTR_HOME = homedir
SYS_MYSQL_ATTR_MAILDIR = maildir
# Extmail使用的MYSQL表设置,请不要修改默认配置;
SYS_MYSQL_ATTR_CLEARPW = clearpwd
# 为了方便管理员对账户的管理,该设置用来保存明文密码;
# 如果不需要该功能请注释掉此设置;
SYS_MYSQL_ATTR_DISABLEWEBMAIL = disablewebmail
SYS_MYSQL_ATTR_DISABLENETDISK = disablenetdisk
SYS_MYSQL_ATTR_DISABLEPWDCHANGE = disablepwdchange
SYS_MYSQL_ATTR_ACTIVE = active
# attr_disable**主要是设置是否打开禁用某个特性的功能。如果注释掉
# 那么即使数据库存在这个字段也会无效。比如disablewebmail,即支持用户登录webmail。
# 注:修改过该设置后,用户必须logout才能生效;
SYS_LDAP_BASE = o=extmailAccount,dc=example.com
SYS_LDAP_RDN = cn=Manager,dc=example.com
SYS_LDAP_PASS = secret
SYS_LDAP_HOST = localhost
# LDAP配置信息;
SYS_LDAP_ATTR_USERNAME = mail
SYS_LDAP_ATTR_DOMAIN = virtualDomain
SYS_LDAP_ATTR_PASSWD = userPassword
# ldif配置属性;
SYS_LDAP_ATTR_CLEARPW = clearPassword
SYS_LDAP_ATTR_QUOTA = mailQuota
SYS_LDAP_ATTR_NDQUOTA = netdiskQuota
SYS_LDAP_ATTR_HOME = homeDirectory
SYS_LDAP_ATTR_MAILDIR = mailMessageStore
SYS_LDAP_ATTR_DISABLEWEBMAIL = disablewebmail
SYS_LDAP_ATTR_DISABLENETDISK = disablenetdisk
SYS_LDAP_ATTR_DISABLEPWDCHANGE = disablePasswdChange
SYS_LDAP_ATTR_ACTIVE = active
# 参见SYS_MYSQL_ATTR*相关解释;
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket
# authlib socket存放位置;
SYS_G_ABOOK_TYPE =
# 全局地址本设置,可选ldap和file;
SYS_G_ABOOK_LDAP_HOST = localhost
SYS_G_ABOOK_LDAP_BASE = ou=AddressBook,dc=example.com
SYS_G_ABOOK_LDAP_ROOTDN = cn=Manager,dc=example.com
SYS_G_ABOOK_LDAP_ROOTPW = secret
SYS_G_ABOOK_LDAP_FILTER = objectClass=OfficePerson
#当SYS_G_ABOOK_FILE设置为ldap,对应LDAP的配置;
SYS_G_ABOOK_FILE_PATH = /var/www/html/extmail/globabook.cf
SYS_G_ABOOK_FILE_LOCK = 1
SYS_G_ABOOK_FILE_CONVERT = 0
SYS_G_ABOOK_FILE_CHARSET = utf-8
# 当SYS_G_ABOOK_FILE设置为file,对应file的配置;
二、webman.cf
介绍:
webman.cf文件用来对Extman的核心配置进行设定,该配置文件对Extman至关重要。
存放路径:
/var/www/extsuite/extman/webman.cf
注:如果没有按照官方HowTO安装系统,路径可能会有所不同,请根据您系统的实际情况而定。
参数说明:
SYS_CONFIG =
# 程序根目录路径,此路径必须指向extman目录;
SYS_LANGDIR =
# 语言包目录路径,此路径必须指向extman/lang目录;
SYS_TEMPLDIR =
# 系统模板目录路径,此路径必须指向extman/html;
SYS_MAILDIR_BASE =
# 邮件数据存放路径,必须为绝对路径,比如:/home/domains;
SYS_SHOW_WARN =
# 设置为1时,打印隐含的系统警告信息到标准输出(网页),默认为0;
SYS_SESS_DIR =
# 系统当前会话文件的保存目录,默认为/tmp/extman/;
SYS_CAPTCHA_ON =
# 设置为1需要认证码登录extman,0不需认证码;//如果不能正确显示验证码,请将这个值设为0
SYS_CAPTCHA_KEY =
# 认证码的key随便输入一个字符串就行;
SYS_CAPTCHA_LEN =
# 认证码的长度,默认为5;
SYS_PURGE_DATA =
# 该设置控制
[url=javascript:;]删除[/url]
用户时默认是否完全删除用户数据,0为否,1为是;
SYS_PSIZE =
# 用户或域列表时,每页显示数据数目。默认20;
SYS_APP_TYPE =
# 当前配置文件对应的应用程序类型。必须填写ExtMan;
SYS_TEMPLATE_NAME =
# 指定界面风格模板文件,默认为default;
SYS_DEFAULT_EXPIRE =
# 默认过期时间,格式:?y ?m ?d;
SYS_GROUPMAIL_SENDER =
# 使用群发邮件模块,系统默认的发件人,例:
[email protected]
;
SYS_DEFAULT_SERVICES =
# 设置系统开放的功能,包括: smtpd, smtp, webmail, netdisk, imap, pop3
# (多参数以 “,” 为分割符);
SYS_ISP_MODE =
# 是否采用ISP模式,格式:yes|no – 如果yes,系统将采用 HashDir 模式来存放数据目录;
SYS_DOMAIN_HASHDIR =
# 如果SYS_ISP_MODE =yes,此设置用来控制域目录是否采用HashDir 模式,格式:yes|no;
SYS_DOMAIN_HASHDIR_DEPTH =
# 域目录HashDir的设置, 格式:长度x深度,如:2×1 => 长度 =2, 深度 =1
# 注:该参数生效必须:sys_isp_mode = yes;
SYS_USER_HASHDIR =
# 如果SYS_ISP_MODE =yes,此设置用来控制用户数据目录是否采用HashDir 模式
# 格式:yes|no;
SYS_USER_HASHDIR_DEPTH =
# 参见SYS_DOMAIN_HASHDIR_DEPTH;
SYS_DOMAIN_ROUTING_LIST =
# 简单的分布存储设置,该参数为Domain级的路由设置。格式:transport 手册里规定的
# 格式都合法。如:lmtp:mx1.extmail.org,lmtp:mx2.extmail.org。
# 注意:必须设置 ISP_mode=yes才能生效;
SYS_USER_ROUTING_LIST =
# 简单的分布存储设置,该参数为User级的路由设置。格式:transport 手册里规定的
# 格式都合法。如:smtp:[192.168.2.130],smtp:[192.168.2.128]。
# 注意:必须设置 ISP_mode=yes才能生效;
SYS_MIN_UID =
# 系统最小UID设置;
SYS_MIN_GID =
# 系统最小GID设置;
SYS_DEFAULT_UID =
# 系统默认UID设置,如果为空,webman则忽略次参数;
SYS_DEFAULT_GID =
# 系统默认GID设置,如果为空,webman则忽略次参数;
SYS_QUOTA_MULTIPLIER =
# 该设置用来设定1MB的实际字节数;
SYS_QUOTA_TYPE =
# 空间限制方法参数设置,可用参数:vda|courier;
SYS_DEFAULT_MAXQUOTA =
# 添加域时,默认最大限额大小,单位MB;
SYS_DEFAULT_MAXALIAS =
# 添加域时,默认最大别名数;
SYS_DEFAULT_MAXUSERS =
# 添加域时,默认最大用户数;
SYS_DEFAULT_MAXNDQUOTA =
# 添加域时,默认最大网络磁盘限额,单位MB;
SYS_USER_DEFAULT_QUOTA =
# 添加用户时,默认磁盘限额,单位MB;
SYS_USER_DEFAULT_NDQUOTA =
# 添加用户时,默认网络磁盘大小,单位MB;
SYS_USER_DEFAULT_EXPIRE =
# 添加用户时,默认过期时间, 格式:?y ?m ?d;
SYS_BACKEND_TYPE =
# 系统后台数据库设置,可用参数:mysql|ldap;
SYS_CRYPT_TYPE = crypt
# 密码加密方式,支持以下方式:
# crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1;
# 详见:webmail.cf SYS_CRYPT_TYPE 参数之Extmail密码格式介绍;
SYS_MYSQL_USER =
# MYSQL数据库用户信息设置,默认为:webman;
SYS_MYSQL_PASS =
# MYSQL数据库用户密码设置;
SYS_MYSQL_DB =
# MYSQL数据库名设置;
SYS_MYSQL_HOST =
# MYSQL数据库主机,默认为:localhost;
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
# MYSQL数据库SOCKET位置设置,默认为:/var/lib/mysql/mysql.sock;
SYS_MYSQL_TABLE = manager
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_PASSWD = password
# Extman使用的MYSQL表设置,请不要修改默认配置;
SYS_MYSQL_ATTR_CLEARPW = clearpwd
# 为了方便管理员对账户的管理,该设置用来保存明文密码;
# 如果不需要该功能请注释掉此设置;
SYS_LDAP_BASE = dc=extmail.org
SYS_LDAP_RDN = cn=Manager,dc=extmail.org
SYS_LDAP_PASS = secret
SYS_LDAP_HOST = localhost
SYS_LDAP_ATTR_USERNAME =
SYS_LDAP_ATTR_PASSWD =
# LDAP配置信息;
# SYS_LDAP_ATTR_CLEARPW = clearPassword
# 参见SYS_MYSQL_ATTR_CLEARPW相关解释;
SYS_RRD_DATADIR =
# rrd图形数据目录;
SYS_RRD_TMPDIR =
# rrd图形数据临时路径;
SYS_RRD_QUEUE_ON =
# 图形日志中,是否显示队列信息;
2014-10-23
解决DSPAM后台histroy标签无数据显示问题。
1、查看日志 /var/log/dspam/dspam.log
32705: [10/23/2014 10:47:16] received invalid result (! DSR_ISSPAM || DSR_INNOCENT) : -2
32705: [10/23/2014 10:47:16] process_message returned error -2. delivering.
32705: [10/23/2014 10:47:21] query error: Table ‘./dspam/dspam_token_data’ is marked as crashed and should be repaired: see sql.errors for more details
32705: [10/23/2014 10:47:21] bailing on error -2
32705: [10/23/2014 10:47:21] received invalid result (! DSR_ISSPAM || DSR_INNOCENT) : -2
32705: [10/23/2014 10:47:21] process_message returned error -2. delivering.
32705: [10/23/2014 10:48:02] query error: Table ‘./dspam/dspam_token_data’ is marked as crashed and should be repaired: see sql.errors for more details
32705: [10/23/2014 10:48:02] bailing on error -2
32705: [10/23/2014 10:48:02] received invalid result (! DSR_ISSPAM || DSR_INNOCENT) : -2
32705: [10/23/2014 10:48:02] process_message returned error -2. delivering.
32705: [10/23/2014 10:49:26] query error: Table ‘./dspam/dspam_token_data’ is marked as crashed and should be repaired: see sql.errors for more details
32705: [10/23/2014 10:49:26] bailing on error -2
32705: [10/23/2014 10:49:26] received invalid result (! DSR_ISSPAM || DSR_INNOCENT) : -2
32705: [10/23/2014 10:49:26] process_message returned error -2. delivering.
32705: [10/23/2014 10:47:48] query error: Table ‘./dspam/dspam_token_data’ is marked as crashed and should be repaired: see sql.errors for more details
32705: [10/23/2014 10:47:48] bailing on error -2
32705: [10/23/2014 10:47:48] received invalid result (! DSR_ISSPAM || DSR_INNOCENT) : -2
32705: [10/23/2014 10:47:48] process_message returned error -2. delivering.
2、用myisamchk工具修复dspam数据库MYI文件
myisamchk -r /var/lib/mysql/dspam/dspam_token_data.MYI
问题解决。