extmail.sql脚本:

 

 
  
  1. /* 
  2.  ExtMail - OSS 
  3.  by He zhiqiang <hzqbbc@hzqbbc.com> 
  4.  Copyright (c) 1998-2005 hzqbbc.com 
  5.  License: GPL v2 
  6.  
  7.  
  8.  This is the MySQL database structure for ExtMail System, derive from 
  9.  Postfixadmin ( http://high5.net/howto/ ) project, and modify to meet 
  10.  our need, it is compatible with PostfixAdmin MySQL structure and have 
  11.  some extmail specific attributes and structure 
  12.  
  13.  ExtMail have an alternative solution on openLDAP, please check the 
  14.  extmail.schema (V3) for detail. 
  15.  
  16.  You can create the database from the shell with: 
  17.  
  18.  mysql -u root [-p] < extmail.sql 
  19. */ 
  20.  
  21. /* 
  22.  Initialize mysql 
  23. */ 
  24.  
  25. USE mysql; 
  26. /* readonly user & password */ 
  27. /* clean user if exists */ 
  28. delete FROM user where User in ('extmail','webman'); 
  29. delete FROM db where User in ('extmail','webman'); 
  30.  
  31. INSERT INTO user (Host, User, Password) VALUES ('localhost','extmail',password('extmail')); 
  32. INSERT INTO db (Host, Db, User, Select_priv) VALUES ('localhost','extmail','extmail','Y'); 
  33.  
  34. /* extman read/write user & password */ 
  35. INSERT INTO user (Host, User, Password) VALUES ('localhost','webman',password('webman')); 
  36. INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv) VALUES ('localhost''extmail''webman''Y''Y''Y''Y'); 
  37. FLUSH PRIVILEGES; 
  38.  
  39. /* readonly user */ 
  40. GRANT USAGE ON extmail.* TO extmail@localhost; 
  41. GRANT SELECT, UPDATE ON extmail.* TO extmail@localhost; 
  42.  
  43. /* read/write user */ 
  44. GRANT USAGE ON extmail.* TO webman@localhost; 
  45. GRANT SELECT, INSERT, DELETE, UPDATE ON extmail.* TO webman@localhost; 
  46. CREATE DATABASE extmail; 
  47. USE extmail; 
  48.  
  49. /* Table structure for table manager */ 
  50. CREATE TABLE manager ( 
  51.   username varchar(255) NOT NULL default ''
  52.   password varchar(255) NOT NULL default ''
  53.   type varchar(64) NOT NULL default 'postmaster'
  54.   uid varchar(255) NOT NULL default ''
  55.   name varchar(255) NOT NULL default ''
  56.   question text NOT NULL default ''
  57.   answer text NOT NULL default ''
  58.   disablepwdchange smallint(1), 
  59.   createdate datetime NOT NULL default '0000-00-00 00:00:00'
  60.   expiredate DATE NOT NULL default '0000-00-00'
  61.   active tinyint(1) NOT NULL default '1'
  62.   PRIMARY KEY  (username), 
  63.   KEY username (username) 
  64. ) TYPE=MyISAM COMMENT='Ext/Webman - Admin Accounts'
  65.  
  66. /* Table structure for table alias */ 
  67. CREATE TABLE alias ( 
  68.   address varchar(255) NOT NULL default ''
  69.   goto text NOT NULL, 
  70.   domain varchar(255) NOT NULL default ''
  71.   createdate datetime NOT NULL default '0000-00-00 00:00:00'
  72.   active tinyint(1) NOT NULL default '1'
  73.   PRIMARY KEY  (address), 
  74.   KEY address (address) 
  75. ) TYPE=MyISAM COMMENT='ExtMail - Virtual Aliases'
  76.  
  77. /* Table structure for table domain */ 
  78. CREATE TABLE domain ( 
  79.   domain varchar(255) NOT NULL default ''
  80.   description varchar(255) NOT NULL default ''
  81.   hashdirpath varchar(255) NOT NULL default ''
  82.   maxalias int(10) NOT NULL default '0'
  83.   maxusers int(10) NOT NULL default '0'
  84.   maxquota varchar(16) NOT NULL default '0'
  85.   maxnetdiskquota varchar(16) NOT NULL default '0'
  86.   transport varchar(255) default NULL, 
  87.   can_signup tinyint(1) NOT NULL default '0'
  88.   default_quota varchar(255) default NULL, 
  89.   default_netdiskquota varchar(255) default NULL, 
  90.   default_expire varchar(12) default NULL, 
  91.   disablesmtpd smallint(1), 
  92.   disablesmtp smallint(1), 
  93.   disablewebmail smallint(1), 
  94.   disablenetdisk smallint(1), 
  95.   disableimap smallint(1), 
  96.   disablepop3 smallint(1), 
  97.   createdate datetime NOT NULL default '0000-00-00 00:00:00'
  98.   expiredate DATE NOT NULL default '0000-00-00'
  99.   active tinyint(1) NOT NULL default '1'
  100.   PRIMARY KEY  (domain), 
  101.   KEY domain (domain) 
  102. ) TYPE=MyISAM COMMENT='ExtMail - Virtual Domains'
  103.  
  104. /* Table structure for table domain_manager */ 
  105. CREATE TABLE domain_manager ( 
  106.   username varchar(255) NOT NULL default ''
  107.   domain varchar(255) NOT NULL default ''
  108.   createdate datetime NOT NULL default '0000-00-00 00:00:00'
  109.   active tinyint(1) NOT NULL default '1'
  110.   KEY username (username) 
  111. ) TYPE=MyISAM COMMENT='Ext/Webman - Domain Admins'
  112.  
  113. /* 
  114.  Table structure for table mailbox 
  115.  mapping: name <-> cn, username <-> mail 
  116. */ 
  117. CREATE TABLE mailbox ( 
  118.   username varchar(255) NOT NULL default ''
  119.   uid varchar(255) NOT NULL default ''
  120.   password varchar(255) NOT NULL default ''
  121.   clearpwd varchar(128) NOT NULL default ''
  122.   name varchar(255) NOT NULL default ''
  123.   mailhost varchar(255) NOT NULL default ''
  124.   maildir varchar(255) NOT NULL default ''
  125.   homedir varchar(255) NOT NULL default ''
  126.   quota varchar(16) NOT NULL default '0'
  127.   netdiskquota varchar(16) NOT NULL default '0'
  128.   domain varchar(255) NOT NULL default ''
  129.   uidnumber int(6) NOT NULL default '1000'
  130.   gidnumber int(6) NOT NULL default '1000'
  131.   createdate datetime NOT NULL default '0000-00-00 00:00:00'
  132.   expiredate DATE NOT NULL default '0000-00-00'
  133.   active smallint(1) NOT NULL default '1'
  134.   disablepwdchange smallint(1), 
  135.   disablesmtpd smallint(1), 
  136.   disablesmtp smallint(1), 
  137.   disablewebmail smallint(1), 
  138.   disablenetdisk smallint(1), 
  139.   disableimap smallint(1), 
  140.   disablepop3 smallint(1), 
  141.   question text NOT NULL default ''
  142.   answer text NOT NULL default ''
  143.   PRIMARY KEY  (username), 
  144.   KEY username (username) 
  145. ) TYPE=MyISAM COMMENT='ExtMail - Virtual Mailboxes'

init.sql脚本:

 
  
  1. use extmail; 
  2.  
  3. /*!40000 ALTER TABLE `alias` DISABLE KEYS */; 
  4. LOCK TABLES `alias` WRITE; 
  5. INSERT INTO `alias` VALUES ('support@extmail.org','postmaster@extmail.org','extmail.org','2007-02-14 15:10:04',1); 
  6. UNLOCK TABLES; 
  7. /*!40000 ALTER TABLE `alias` ENABLE KEYS */; 
  8.  
  9. /*!40000 ALTER TABLE `domain` DISABLE KEYS */; 
  10. LOCK TABLES `domain` WRITE; 
  11. INSERT INTO `domain` VALUES ('extmail.org','virtualDomain for extmail.org','A0/B0',50,50,1073741824,1073741824,NULL,'1','5242880','5242880','1y','0','0','0','0','1','0','2007-02-14 15:10:04','2010-11-08',1); 
  12. UNLOCK TABLES; 
  13. /*!40000 ALTER TABLE `domain` ENABLE KEYS */; 
  14.  
  15. /*!40000 ALTER TABLE `mailbox` DISABLE KEYS */; 
  16. /* postmaster@extmail.org password is extmail */ 
  17. LOCK TABLES `mailbox` WRITE; 
  18. INSERT INTO `mailbox` VALUES ('postmaster@extmail.org','postmaster','$1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0','','PostMaster','','extmail.org/postmaster/Maildir/','extmail.org/postmaster','104857600S','52428800S','extmail.org',1000,1000,'2007-02-14 15:10:04','2010-11-08',1,0,0,0,0,0,0,0,'my question','my answer'); 
  19. UNLOCK TABLES; 
  20. /*!40000 ALTER TABLE `mailbox` ENABLE KEYS */; 
  21.  
  22. /*!40000 ALTER TABLE `manager` DISABLE KEYS */; 
  23. /* root@extmail.org password is extmail*123* */ 
  24. LOCK TABLES `manager` WRITE; 
  25. INSERT INTO `manager` VALUES ('root@extmail.org','$1$BrT9qxfB$Ha81Mb5YVV6rNKNN5jmtj1','admin','root','Super User','my question','my answer','0','2007-02-14 15:10:04','2010-11-08',1); 
  26. UNLOCK TABLES; 
  27. /*!40000 ALTER TABLE `manager` ENABLE KEYS */; 

mysql_virtual_alias_maps.cf文件:

 
  
  1. user = extmail 
  2. password = extmail 
  3. hosts = localhost 
  4. dbname = extmail 
  5. table = alias 
  6. select_field = goto 
  7. where_field = address 
  8. additional_conditions = AND active = '1' 

mysql_virtual_limit_maps.cf文件:

 
  
  1. user = extmail 
  2. password = extmail 
  3. hosts = localhost 
  4. dbname = extmail 
  5. table = mailbox 
  6. select_field = quota 
  7. where_field = username 
  8. additional_conditions = AND active = '1' 

mysql_virtual_sender_maps.cf文件:

 
  
  1. user = extmail 
  2. password = extmail 
  3. hosts = localhost 
  4. dbname = extmail 
  5. table = mailbox 
  6. select_field = username 
  7. where_field = username 
  8. additional_conditions = AND active = '1' 

mysql_virtual_domains_maps.cf文件:

 
  
  1. user = extmail 
  2. password = extmail 
  3. hosts = localhost 
  4. dbname = extmail 
  5. table = domain 
  6. select_field = domain 
  7. where_field = domain 
  8. additional_conditions = AND active = '1' 

mysql_virtual_mailbox_maps.cf文件:

 
  
  1. user = extmail 
  2. password = extmail 
  3. hosts = localhost 
  4. dbname = extmail 
  5. table = mailbox 
  6. select_field = maildir 
  7. where_field = username 
  8. additional_conditions = AND active = '1' 

总共两个个脚本文件和五个数据库连接文件都在这里了,有想做实验的尽管尝试!