iMail是一种非常优秀的基于win平台的mail server程序,在中小型应用中受到广泛的欢迎。
iMail有三种用户数据接口方式:
。默认方式:存放于系统注册表中。
。系统帐号:用户数据依赖于nt/2000用户管理,此种方式常用于局域网环境中,而在互联网服务器应用中,系统帐号越少,则服务器被入侵的可能越少,自是不便使用。
。以ODBC接口方式连接的外部数据库方式。
一、ODBC库表结构设置
imail提供了一个动态链接库odbcuser.dll,通过这个接口,imail可以使用odbc的数据源,在外部数据库中保存用户列表。odbcuser.dll已经在imail的安装目录下面。其vc++源程序可以在ftp://ftp.ipswitch.com/Ipswitch/Product_Support/IMail/odbcuser.zip下载到。打开odbcuser.zip中的readme.txt文件我们可以看到表结构定义(如下),依此建表。
Default ODBC Tables
-------------------
The default ODBC table consists of 9 entries:
USERID - varchar(31)...........用户名
PASSWORD - varchar(31).........密码
FULLNAME - varchar(63).........全名
USERDIR - varchar(255).........用户目录
MAILADDR - varchar(255)........邮件地址(如abc@my.com)
MAXSIZE - integer..............最大邮件大小
MAXMSGS - integer..............最大消息大小
FLAGS - integer
TYPE - integer
NUMTRIES - integer
ATTEMPTTIME - integer
NUMTIMESSUSP - integer
LASTLOGIN - integer
SPNDUSRACCT - integer
ICALENBL - integer
SPELLENBL - integer
NUMSGSTNS - integer
IWDEPTH - integer
IWOPTIONS - integer
SPELLCHKG - integer
PRVWSIZE - integer
DEFVIEW - varchar(40)
TIMEZONE - varchar(255)
STRTDAY - integer
DEFCALNM - varchar(40)
ENTRYGRNL - integer
STARTTIME - integer
ENDTIME - integer
MAXEVNTDISP - integer
MAXTSKDISP - integer
MAXNOTEDISP - integer
MAXDLYRCURCNT - integer
MAXWKLYRCURCNT - integer
MAXMONRCURCNT - integer
MAXYRLYRCURCNT - integer
DISPCMPLTDTSKS - integer
HOURSCLOCK - integer
MAXSRCHRESPPG - integer
MAXEVENTTITLELEN - integer
MAXTASKTITLELEN - integer
CONFIRMONDELETE - integer
二、创建系统DSN并设置iMail采用ODBC方式。
1、在系统DSN中添加相应系统数据源。
2、在iMail Administrator中选取主机,将radio按钮设为“Extenal Database”,选择Configure...按钮进行ODBC设置。
3、搞定
三、程序设计。
由于iMail用户数据存储于数据库中,添加用户自然可以用asp/php/jsp等web程序对数据表做相应操作即可。
创建abc@my.com的邮件,只需要向库中添加“abc”的USERID记录,再添加 相应的用户目录即可。
删除、修改。。。等操作也都较为简单,不再废话。
BTW:
若采用mysql做为用户数据,在添加用户时一定记住将USERDIR中的"\"字符replace为“\\”。
,