November 18, 2005

Extmail 在线书签使用的简易指南

About BookMark Service

2005年11月18日,Extmail 网站试推出第一个在线服务:网络书签 该服务完全免费,注册后立刻可以使用。

其主要特点如下:

注意:

目前导入功能还有待完善,对于中/日/韩等8bit文字还不能正确导入,将导致乱码,原因
是系统使用的是UTF8编码,迟些将增加一个字符集选项,在导入时选择合适的语言就可以
完美转换,敬请留意。

Step by step manual

以下是一个简易的入门教程,每一步都有演示,希望用户只用几分钟就学会使用。

注册

要使用书签服务,当然要拥有一个帐户了,请点击这里注册。看到注册界面后,按要求输入用户名,名字,密码和邮箱即可。

如果要注册的用户名没问题,注册成功后就可以登陆到系统,开始在线书签之旅了!:-)

添加书签

登陆进入书签系统后,点击“添加书签”按钮,将书签上图界面,要输入的信息主要包括了标题,地址,描述,标签,并需要选择隐私类型,是公开还是私有。

注意的是,书签系统使用Ajax技术,输入了地址后,能在服务器端自动取该链接的标题,因此建议先输入地址,然后写描述及标签,如果系统不能自动获得标题,再手工输入。这样能提高效率,见下图说明:

标签则是描述这个书签的关键字,用半角逗号分隔。例如“perl, extmail, opensource”。

这是添加书签的例子。

添加完毕后,系统将提示“书签保存成功”,并显示当前自己的书签列表。

定义私人书签

在隐私下拉菜单里,选私人,那么这条书签只有自己才能看,其他人是看不到的。

这是保存后的结果,私人书签将以粉红色显示。

如何使用关注功能?

所谓关注功能,是指将那些自己有兴趣看的用户纳入自己关注列表里,这样他们任何更新都能在关注的书签列表里看到。

首先,必须进入要关注的用户书签首页,例如要关注用户chifeng,则访问地址http://extmail.org/scuttle/bookmark.php/chifeng,可以看到该用户的书签列表。

其次,在该用户首页右边菜单处,看到有一个叫“添加到关注列表”的按钮,点击即可。

点击之后,返回自己的首页,点击“我关注的书签”即可看到刚才添加到关注列表里用户的书签列表。

在右边的菜单处,有一个关注列表(Watch List),上面罗列了自己关注的用户列表,点击可进去该用户的书签首页。

如何使用快速添加书签功能?(Bookmarklet)

按上述添加书签的步骤,依然显得有点烦琐,对于要快速添加到书签并返回正在阅读的页面的用户,需要一种快捷的手段。本节介绍如何实现快速添加方法。

假设用户使用IE浏览器,点击“添加书签”,在中下部有一个栏目叫“书签快捷方式”,例如需要增加一个快捷方式(同一窗体打开),则鼠标右键点击“发布到Ext Bookmark”,并选中“添加到收藏夹 (F)...”。

IE将提示“您正在添加一个可能不安全的收藏页。是否继续?”,点“是”。

在添加到收藏夹对话框中,将该链接放到“链接”目录。并点“确定”保存。

在浏览器的导航条上空白处,点右键,确保“链接(L)”一栏打了勾,那么,浏览器将增加一条导航条,叫“链接”,其中就包含了刚才增加的“发布到Ext Bookmark”的链接。见上图。

这样快捷方式就增加完毕了。

当遇到想保存的页面,则点“发布到Ext Bookmark”快捷方式,将返回到“添加书签”页面,然后参考上述添加书签的步骤完成即可。最后添加完毕,进入书签列表后,点击刚添加书签的链接,将返回正在阅读的页面。

Enjoy your Ext bookmark! :-) by Extmail Dev Team

Posted by hzqbbc at 02:27 AM | Comments (0)

September 22, 2005

Extmail 0.1x 多国语言显示能力屏幕截图

Extmail 自设计时就是为了适应复杂的邮件应用环境,多语言、多字符集支持就是一个基本的特征,也是和一般的webmail软件相比较为突出的优点。

以下是几张同屏显示多种语言/字符集邮件的截图,其中浏览器的语言为中文简体*(GB2312),而邮件的标题和正文则分别是繁体中文(Big5)、韩文(Kr)、日文(Shift_jis 或ISO2022_JP)等。

截图1:收件箱,各国邮件标题列表:

从上图可以看到,不同语言的mail中,来信人,标题等都能在同一屏幕(GB2312的字符集环境下)正确显示。这里包括了最常见的CJK(Chinese/Japanese/Korea)字符集。

截图2:阅读日文邮件:

这是一封日文邮件,邮件编码是iso-2022-jp,显示完全正确。而此时浏览器的当前语言仍然是GB2312(简体中文),无需进行任何切换。

截图3:阅读繁体中文邮件:

这是一封繁体中文的邮件,发自Gmail,通过Extmail的转化,在简体中文环境下可以顺利的阅读,不需任何页面编码的切换。

截图4:阅读韩文邮件:

阅读韩文邮件同样也没有任何问题。

由于Extmail的设计能支持主流的各国语言,因此使用它能摆脱乱码的窘况,再也不需要为往来邮件的乱码烦恼了。

Posted by hzqbbc at 10:50 PM | Comments (2)

September 20, 2005

Configuration Document - Extmail配置方法

Extmail的配置较为简单,主要集中在源码包根目录中的webmail.cf文件。该文件主要包含了几个部分:

以下将分别介绍配置参数的含义和方法:

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.pm

1) 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 01:02 PM | Comments (2)

September 19, 2005

Installation Document - Extmail 安装文档

Pre-requisites

由于Extmail是纯perl语言编写的,而且Maildir标准只在Unix类平台上实现,因此不能在Win32平台下安装。 要安装并使用Extmail至少要满足如下的系统条件: