<%@ page contentType = "text/html;charset=gb2312" %>
<%@ page import = "java.util.*" %>
<%@ page import = "java.text.*" %>
<%@ page import = "com.turbomail.web.*" %>
<%@ page import = "com.turbomail.util.*" %>
<%@ page import = "com.turbomail.mime.*" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "java.io.*" %>
<%
/*
操作说明:
1.增加用户,
URL: api?pwd=管理员密码&type=add&domain=域名&username=用户名&password=密码&maxsize=最大空间&maxsize=最大邮件数
返回值: 0 -- 成功, 非0 失败
2.删除用户
URL: api?pwd=管理员密码&type=delete&domain=域名&username=用户名
返回值: 0 -- 成功, 非0 失败
3.更改用户密码
URL: api?pwd=管理员密码&type=edit&domain=域名&username=用户名&password=新密码
返回值: 0 -- 成功, 非0 失败
4.获取用户新邮件数
URL: api?pwd=管理员密码&type=getnewmsg&domain=域名&username=用户名
返回值: 0 或正数 -- 用户新邮件数, 负数 失败
*/
%>
<%
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy hh:mm:ss");
java.util.Date d = new java.util.Date();
String str_ca = sdf.format(d);
response.setHeader("Expires","Mon, 26 Jul 1997 05:00:00 GMT");
response.setHeader("Last-Modified", str_ca + " GMT");
response.setHeader("Cache-Control","no-cache, must-revalidate");
response.setHeader("Pragma","no-cache");
//response.setContentType("text/html;charset=gb2312");
String pwd = request.getParameter("pwd");
if(pwd == null){
pwd = "";
}
UserInfo userinfo = new UserInfo();
userinfo.setUid("postmaster");
userinfo.is_first = true;
userinfo.domain = "root";
userinfo.str_cn = "postmaster" + "@" + "root";
String strCFPath = MailMain.s_config.getMailDirPath() + System.getProperty("file.separator")
+ "root" + System.getProperty("file.separator")
+ "postmaster" + System.getProperty("file.separator") + "account.xml";
userinfo.account = new UserAccount();
try{
if (MailMain.m_tmc.USER_AUTH_TYPE.equals("MYSQL")) {
userinfo.account.mysqlInit("root", "postmaster",false);
} else {
userinfo.account.init(strCFPath);
}
}catch(Exception e){
e.printStackTrace() ;
out.write("1" );
return ;
}
if(!userinfo.account.password.equals (pwd)){
out.write("2" );
return ;
}
%>
<%
String type = request.getParameter("type");
if(type == null) type = "";
if(type.equals("add")){
UserAccount ua = null;
try{
String domain = request.getParameter("domain");
if(domain == null){
out.write("3" );
return ;
}
String username = request.getParameter("username");
if(username == null){
out.write("4" );
return ;
}
String password = request.getParameter("password");
if(password == null){
password = "";
}
String maxsize = request.getParameter("maxsize");
if(maxsize == null){
maxsize = "-1";
}
String maxmsgs = request.getParameter("maxmsgs");
if(maxmsgs == null){
maxmsgs = "-1";
}
ua = new UserAccount();
ua.username = new String(username);
ua.password = new String(password);
ua.usertype = "U";
ua.m_domain = new String(domain);
ua.m_UserProfile = new UserProfile();
ua.m_UserProfile.first_name = username;
ua.m_UserProfile.last_name = "";
ua.m_UserProfile.organiztion = "";
ua.m_UserProfile.department = "";
ua.m_UserProfile.address = "";
ua.m_UserProfile.city = "";
ua.m_UserProfile.postalcode = "";
ua.m_UserProfile.telephone = "";
ua.m_UserProfile.state_province = "";
ua.m_UserProfile.country = "";
ua.m_UserProfile.items = 50;
ua.enable = "true";
ua.enable_smtp = "true";
ua.enable_pop3 = "true";
ua.enable_imap4 = "true";
ua.enable_webaccess = "true";
ua.enable_localdomain = "false";
ua.max_mailbox_size = Integer.parseInt(maxsize);
ua.max_mailbox_msgs = Integer.parseInt(maxmsgs);
int iRet = 0;
try {
iRet = ua.makeUserAccount(MailMain.s_config.getMailDirPath());
}catch(Exception e){
e.printStackTrace();
out.write("1" );
return ;
}
if(iRet != 0 ){
out.write("1" );
return ;
}
}catch(Exception ee){
ee.printStackTrace();
out.write("1" );
return ;
}
out.write("0" );
return ;
}else if(type.equals("delete")){
String username = request.getParameter("username");
if(username == null){
out.write("1" );
return ;
}
String domain = request.getParameter("domain");
if(domain == null){
out.write("2" );
return ;
}
String[] users = new String[1];
users[0] = username;
UserAccountAdmin.deleteUser(domain, users);
out.write("0" );
return ;
}else if(type.equals("edit")){
String username = request.getParameter("username");
if(username == null){
out.write("1" );
return ;
}
String domain = request.getParameter("domain");
if(domain == null){
out.write("2" );
return ;
}
UserAccount ua = null;
ua = UserAccountAdmin.getUserAccount (domain,username);
ua.m_domain = new String(domain);
String password = request.getParameter("password");
if(password == null){
password = "";
}
ua.password = password;
int iRet = ua.saveProfile(true,false);
if(iRet != 0){
out.write("3" );
return ;
}
out.write("0");
return ;
}else if(type.equals("getnewmsg")){
String username = request.getParameter("username");
if(username == null){
out.write("-1");
return ;
}
String domain = request.getParameter("domain");
if(domain == null){
out.write("-2" );
return ;
}
ArrayList hsFolders = MessageAdmin.getFolderList (domain,username,1);
Folder tempFolder = null;
tempFolder = MessageAdmin.findFolder(hsFolders,"new");
int iNewMsg = tempFolder.iNewMsg;
out.write((String.valueOf(iNewMsg)) );
return ;
}
%>
|