用james服务器添加用户,有一种方式是在命令行里输telnet ...4555 。
但是现在我需要在业务层里用程序实现添加用户到邮件服务器,我想肯定有相应的API可以调用,但是不知道是那些API。
    请知道的兄弟指点一下啊。

解决方案 »

  1.   

    不用吧,俺用postfix做的虚拟域和虚拟用户,直接写条数据到数据库,postfix就自动建用户.
      

  2.   

    import com.ritetone.util.Config;
    import com.ritetone.util.logger.Logger;
    import java.io.PrintStream;
    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.util.ArrayList;
    import org.apache.james.remotemanager.UserManager;public class MailRmiClient
    {    private String rmiURL;
        private UserManager userManager;    public MailRmiClient()
        {
            try
            {
                rmiURL = Config.getProperty("webmail", "rmiinvoker");
                userManager = (UserManager)Naming.lookup(rmiURL);
            }
            catch(Exception e)
            {
                Logger.error("Class MailRmiClient Method constructor() throw Exception ", e);
            }
        }    public boolean addUser(String username, String password)
            throws RemoteException
        {
            boolean rtn = true;
            rtn = userManager.addUser(username, password);
            if(rtn)
                Logger.info("Class MailRmiClient.java Method addUser() adding user " + username + " ok ");
            else
                Logger.error("Class MailRmiClient.java Method addUser() adding user " + username + " error ");
            return rtn;
        }    public boolean deleteUser(String username)
            throws RemoteException
        {
            boolean rtn = true;
            try
            {
                rtn = userManager.deleteUser(username);
            }
            catch(Exception e)
            {
                rtn = false;
                Logger.error("Class MailRmiClient.java Method deleteUser() remove user " + username + " - " + e.getMessage());
            }
            return rtn;
        }    public boolean verifyUser(String username)
            throws RemoteException
        {
            return userManager.verifyUser(username);
        }    public int getCountUsers()
            throws RemoteException
        {
            return userManager.getCountUsers();
        }    public ArrayList getUserList()
            throws RemoteException
        {
            return userManager.getUserList();
        }    public boolean setPassword(String username, String password)
            throws RemoteException
        {
            boolean rtn = true;
            rtn = userManager.setPassword(username, password);
            if(rtn)
                Logger.info("Class MailRmiClient Method setPassword() resetting password for user " + username + " ok ");
            else
                Logger.error("Class MailRmiClient Method setPassword() resetting password for user " + username + " error ");
            return rtn;
        }