1) 向ldap 表中写入一条记录。
以下是ASP创建帐号的代码,详细请参考DBMail/web目录下register.asp文件中第95~140行之间的内容。
If Not bChecked Then
varLdap("account") = strAccount
varLdap("password") = strAnsi2Unicode(Base64encode(strUnicode2Ansi(cc_strPassword)))
varLdap("domainname") = cc_strDomain
varLdap("mailboxsize") = varDomain("defaultmailboxsize")
varLdap("sizelimitflag") = 1
varLdap("smtpmaxsize")= 0
varLdap("smtpmaxrcpt")= 0
varLdap("accounttype")= 0
varLdap("isgroup")= 0
varLdap("issupervisor")= 0
varLdap("accseqno")= 0
varLdap("isdisabled")= -1
If bNeedAuth=0 Then varLdap("isdisabled") = 0
varLdap("allowoutgoing")= 1
varLdap("allowincoming")= 1
varLdap("localincoming") = 1
varLdap("localoutgoing") = 1
varLdap("lastvisittime") = ""
varLdap("mapaccount") = ""
varLdap("allowwebmail") = 1
varLdap("allowsetpassword") = 1
varLdap("allowsetpop3remote")= 1
varLdap("allowsetmapaccount")= 1
varLdap("autotransfer") = 0
varLdap("checkupoutgoing") = 0
varLdap("allowshowinpublic") = 1
varLdap("checkexpire") =48
varLdap("msgsperpage") = 20
varLdap("contactsperpage") = 20
varLdap("contactsperpage") = 20
varLdap("showcontentfolder") = 1
varLdap("showcontentsearch") = 1
bAddOK = Gffc.Add(varLdap)
If bAddOK Then
Call WebmailNotify(Webmail_Event_Account_ToCreate,varLdap("account"),varLdap("accseqno"), "")
2) 向websent表写入一条通知。
以下是ASP创建帐号的代码,详细请参考DBMail/web目录下register.asp文件中第142行。
Call WebmailNotify(Webmail_Event_Account_ToCreate,varLdap("account"), varLdap("accseqno"), "")
3) 等待DBMail系统创建帐号并查看帐号是否创建成功(当帐号创建成功后,系统会自动发送欢迎信给新创建的帐号,而不需要额外处理)。
注意:如果不向websent 表发一条通知,就会出现以下问题
1、发信时收件箱没有发信记录
2、管理人员单击帐号会出500错误
websent 表字段说明
varWebSent("mailid") = 主键,16位,用户可以自己定义规则,只要不重复就行,DBMail用的是WB+YYMMDD+NNNNNNNN,NNNNNN是自动增长的一个数。
varWebSent("mailstatus") = 9 这里是固定值,专用于标记这条记录是一条通知,而不是一封邮件。
varWebSent("sendtype") = 事件号, 1000=帐号创建;1001= 帐号删除;1002=邮件删除;1003=帐号更新
varWebSent("account") = 帐号, 例如 abc@123.com
varWebSent("mailsize") = 每个帐号对应的唯一序号,即abc@123.com对应的序号
varWebSent("manager") = 第二个字符参数,在创建帐号时没有用到。
补充说明:其它的字段,如果是数值型的就填0;如果是字符型的就填""。