« Installation Document - Extmail 安装文档 | Main | Extmail 0.1x 多国语言显示能力屏幕截图 »
September 20, 2005
Configuration Document - Extmail配置方法
Extmail的配置较为简单,主要集中在源码包根目录中的webmail.cf文件。该文件主要包含了几个部分:
- 系统级配置参数
- 用户初始默认参数
- MySQL认证参数
- LDAP认证参数
以下将分别介绍配置参数的含义和方法:
Basic|基本配置
以下是0.13版的基本配置部分内容,不同发行版之间的配置参数可能会发生变化,因此以对应版本中的ChangeLog和INSTALL等文件中的描述的为准。注意:为方便对照,注释将直接写在下文的配置当中,所有配置参数的值不能以空格结尾,请务必留意!
# sys_config, the config file and webmail programe root # 该参数是所有参数之首,必须正确配置,它表明了webmail程序 # 所安放的绝对目录,请务必书写正确 SYS_CONFIG = /var/www/cgi-bin/extmail/ # sys_langdir, the i18n dir # 语言包的目录,必须为绝对目录,必须书写正确 SYS_LANGDIR = /var/www/cgi-bin/extmail/lang # sys_templdir, the template dir # 界面模板的目录,也为绝对目录。 SYS_TEMPLDIR = /var/www/cgi-bin/extmail/html # sys_warn, show system warning or not, # default to yes # 是否显示系统的一些警告信息?默认为空,如不确定请 # 保留默认值0 SYS_SHOW_WARN = 0 # sys_permit_noquota, permit an account without qouta? # 是否允许“无限额”配置?对于有些邮件系统配置中,没给用户 # 限制磁盘大小,如果该参数设置为1则允许这样的情况,如果设置0 # 则webmail将强加一个默认的限额(100MB) SYS_PERMIT_NOQUOTA = 1 # sys_sess_dir, the session dir # Session文件存放目录,推荐/tmp SYS_SESS_DIR = /tmp/ # sys_sess_timeout, session timeout in seccond, # default 6 hours # Session的会话超时时间,默认6小时(21600秒),必须以秒 # 为单位 SYS_SESS_TIMEOUT = 21600 # Webmail version, useful on outgoing email header # X-Mailer邮件头的信息 SYS_WEBMAIL_VER = ExtMail 0.13fcgi/cgi # sys auth type, mysql/ldap/flat # 用户登陆认证类型,目前可选的是mysql或ldap,必须全部小写 SYS_AUTH_TYPE = mysql # maildir_base, the base dir of user maildir, use # absolute path if not set. # 邮件存储的基本目录,如果用户的maildir的home目录是相对 # 目录,那么home目录的绝对路径则由: # SYS_MAILDIR_BASE + '/' + home 构成,详细请参阅所使用 # 邮件系统的文档,以及存储目录设计。 SYS_MAILDIR_BASE = /home/domains
用户初始默认参数
以下参数将为用户登陆时设置默认的参数。# sys_user_psize, user default page_size # 邮件列表中每页显示的邮件记录数,默认20 SYS_USER_PSIZE = 20 # sys_user_lang, user default language # 默认的用户语言,默认是en_US,对于中国用户,可以将该值 # 设置为zh_CN,这样新用户第一次登陆就可以看到中文 SYS_USER_LANG = en_US # sys_user_template, user default template # 默认的界面模板,目前发行包里只带了一个模板,名称是standard # 因此请保持该值不变。 SYS_USER_TEMPLATE = standard # sys_user_charset, user default charset # 默认的邮件发送字符集,该值必须与SYS_USER_LANG对应,如果 # SYS_USER_LANG设置为zh_CN,则该值应设置为gb2312 SYS_USER_CHARSET = iso-8859-1
MySQL认证参数
如果SYS_AUTH_TYPE 设置为mysql时,则该部分的参数将起作用,否则将不起作用。# if mysql, all relate paramters should prefix as SYS_MYSQL # mysql的用户名 SYS_MYSQL_USER = postfix # mysql的密码 SYS_MYSQL_PASS = postfix # mysql的数据库名 SYS_MYSQL_DB = postfix # mysql的主机名 SYS_MYSQL_HOST = localhost # table name # 存储用户帐户信息的表名 SYS_MYSQL_TABLE = mailbox # 存储用户名的字段名 SYS_MYSQL_ATTR_USERNAME = username # 存储用户密码的字段名 SYS_MYSQL_ATTR_PASSWD = password # 存储用户磁盘限额的字段名 SYS_MYSQL_ATTR_QUOTA = quota # 用户maildir主目录(home)的字段名 SYS_MYSQL_ATTR_HOME = homedir # 用户maildir的路径(绝对或相对)字段名 SYS_MYSQL_ATTR_MAILDIR = maildir
注意:
有关密码加密类型
目前MySQL认证模块只支持crypt类型的加密,因此SHA, SHA1或者MD4/MD5等加密类型还不支持。请确认这一点。
有关maildir/home字段问题
为了获得最大兼容性,Extmail被设计得可以兼容“相对路径”,“绝对路径”,以及只有“home”或只有“maildir”的情况。
LDAP认证配置
如果SYS_AUTH_TYPE 设置为ldap时,则该部分的参数将起作用,否则将不起作用。# if ldap, all relate paramters should prefix as SYS_LDAP # LDAP的base dn,具体请查阅openLDAP的手册 SYS_LDAP_BASE = dc=extmail.org # rootdn,用于程序bind操作,必须提供 SYS_LDAP_RDN = cn=Manager,dc=extmail.org # rootpw,bind操作时的密码,必须提供 SYS_LDAP_PASS = secret # ldif attributes # 存储用户的属性名 SYS_LDAP_ATTR_USERNAME = mail # 存储用户密码的属性名 SYS_LDAP_ATTR_PASSWD = userPassword # 存储用户磁盘限额的属性名 SYS_LDAP_ATTR_QUOTA = mailQuota # 存储用户home路径的属性名 SYS_LDAP_ATTR_HOME = homeDirectory # 存储用户maildir路径的属性名 SYS_LDAP_ATTR_MAILDIR = mailMessageStore
注意: 与mysql的注意基本一致。
模板修改问题
用户可以自行修改模板,具体模板里的标签在这里做简要说明,详细的请参阅HTML::Ktemplate的帮助,地址是:http://search.cpan.org/~kasper/HTML-KTemplate-1.33/KTemplate.pm1) IF ELSE 判断块
<!-- IF FOLDERS_LIST -- > hello world <!-- END FOLDERS_LIST -- >
模板引擎解析上述代码时,将会判断内存中FOLDERS_LIST变量是否为真,如果为真,则输出“hello world”,否则不输出。如果将判断块结尾替换成:
<!-- ELSE FOLDERS_LIST -- > Ooops ! <!-- END FOLDERS_LIST -- >
则在FOLDERS_LIST为假的时候输出Ooops!
2)LOOP 循环块
在webmail模板里大量使用了循环,其基本结构是:
<!-- BEGIN LOOP_A -- > This var = <%VAR1%>, That var = <%VAR2%> <!-- END LOOP_A -- >
如果循环进行2次,每次VAR1和VAR2分别解析为对应的循环代号+1和+2的话,则结果为:
This var = 2, That var = 3 This var = 3, That var = 4
3)<% %>变量替换
模板里最大量的还是具体的模板变量,其格式为<%变量名%>,其中全部大写的变量名是由应用程序中指定的数据内容,而全部小写的变量名大多数是语言包的内容。例如:
<%USERNAME%> 将被替换成test@xxx.com的形式,而<%lang_charset%>则由语言包里的lang_charset 变量所指定的内容决定。
FAQ 问题集锦
Posted by hzqbbc at September 20, 2005 01:02 PM
Comments
请问一下:在你的ExtMail-OSS-0。20的里谈到的
简化postfix配置:
postconf -n > /etc/postfix/main2.cf 是不是有误?要运行这个语句在哪个目录下?我把ExtMail-OSS解压在/usr/src/目录下,文件夹为ExtMail-OSS-0.22。
我的email:iminx@126.com
Posted by: iminx at October 20, 2005 03:44 AM
环境:extmail 0.23/extman 0.12
Can't call method "prepare" on an undefined value at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 59.
Posted by: http://XXXX.com/extman/ 报错 at March 8, 2006 07:06 PM