![]() |
|
|
The CommuniGate Pro CLI API can be used to automate the Server management and to integrate the CommuniGate Pro and other services.
The following document, scripts and samples should help you to integrate CommuniGate Pro with programs and applets written in Java language.
The CGProCLI.jar is the package archive that contains the necessary components for CommuniGate Pro scripting. It includes the CGProCLI class with the routines to connect to the CommuniGate Pro server over the network, to send CommuniGate Pro CLI commands and to convert command parameters from the Java internal format into the CommuniGate Pro CLI format, and to convert command results back into the Java internal format; and the CGProException class which contains the exception thrown by CGProCLI class routines.
You should use the
You can use the following sample Java Applets that employ the com.stalker.CGPro package:
|
You can use the following sample Java Servlets that employ the com.stalker.CGPro package:
|
Returns:
a reference to a new class.
Example:
CGProCLI cli=null;
try {
cli= new CGProCLI("company.com",106,"postmaster@company.com","pass");
} catch (Exception x) {
System.out.println(x.getMessage());
}
Example:
if(cli!=null) cli.logout();
System.out.println(CGProCLI.encodeString("line1\nline2"));
System.out.println(CGProCLI.decodeString("line1\eline2"));
try {
cli.sendCommand("CreateAccount john@company.com {RealName=\"John X Smith\";}");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.sendCommand("ListAccounts company.com");
Hashtable accounts=(Hashtable)cli.getResponseData();
for(Enumeration e = accounts.keys(); e.hasMoreElements();) {
System.out.println((String)e.nextElement());
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
cli.setDebug(true);
CGProCLI cli=null;
try {
CGProCLI.setSecureLogin(false);
cli= new CGProCLI("company.com",106,"postmaster@company.com","pass");
} catch (Exception x) {
System.out.println(x.getMessage());
}
try {
cli.sendCommand("blah blah blah");
}catch(CGProException e) {
System.out.println("error code="+cli.getErrCode());
System.out.println("error message="+e.getMessage());
}
System.out.println(cli.version());
try {
Hashtable accounts=cli.listAccounts("company.com");
for(Enumeration e = accounts.keys(); e.hasMoreElements();) {
System.out.println((String)e.nextElement());
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
Hashtable settings=new Hashtable();
settings.put("RealName","Jojn X. Smith");
settings.put("MaxAccountSize","100K");
Vector accModes=new Vector();
accModes.addElement("Mail");
accModes.addElement("POP");
accModes.addElement("IMAP");
accModes.addElement("PWD");
accModes.addElement("WebMail");
settings.put("AccessModes",accModes);
try {
cli.createAccount("john@company.com",settings,null,false);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String domain="@company.com";
cli.renameAccount("john"+domain,"js"+domain);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteAccount("js@company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setAccountType("js@company.com","AGrade"); //MultiMailbox | AGrade | BGrade | CGrade
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountSettings("js@company.com");
for(Enumeration e = settings.keys(); e.hasMoreElements();) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
Hashtable settings=new Hashtable();
settings.put("Password","pass");
settings.put("MaxAccountSize","200K");
try {
cli.updateAccountSettings("john@company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setAccountPassword("john@company.com","jSmitH");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
if(cli.verifyAccountPassword("john@company.com","jSmitH")==true) System.out.println("OK");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector aliases=cli.getAccountAliases("john@company.com");
System.out.println(aliases);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector aliases=cli.getAccountAliases("john@company.com");
aliases.addElement("jsmith");
cli.setAccountAliases("john@company.com",aliases);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector rules=cli.getAccountMailRules("john@company.com");
for(int idx=0;idx<rules.size();idx++) {
Vector rule=(Vector)rules.elementAt(idx);
System.out.println("\nName="+rule.elementAt(1)+" Priority="+rule.elementAt(0));
Vector conditions=(Vector)rule.elementAt(2);
Vector actions=(Vector)rule.elementAt(3);
System.out.println(" If");
for(int idxc=0;idxc<conditions.size();idxc++) {
System.out.println(" "+conditions.elementAt(idxc));
}
System.out.println(" Then");
for(int idxa=0;idxa<actions.size();idxa++) {
System.out.println(" "+actions.elementAt(idxa));
}
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector rules=new Vector();
Vector rule1=new Vector();
Vector conditions=new Vector();
Vector actions=new Vector();
Vector condition1=new Vector();
condition1.addElement("Subject");
condition1.addElement("is");
condition1.addElement("*URGENT*");
Vector condition2=new Vector();
condition2.addElement("From");
condition2.addElement("is");
condition2.addElement("boss@company.com");
conditions.addElement(condition1);
conditions.addElement(condition2);
Vector action1=new Vector();
action1.addElement("Mark");
action1.addElement("Flagged");
Vector action2=new Vector();
action2.addElement("Reply with");
action2.addElement("OK, boss.");
actions.addElement(action1);
actions.addElement(action2);
rule1.addElement("5"); //priority
rule1.addElement("MyRule"); //rule name
rule1.addElement(conditions);
rule1.addElement(actions);
rules.addElement(rule1);
cli.setAccountRules("john@company.com",rules);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector records=cli.getAccountRPOP("john@company.com");
for(int idx=0;idx<records.size();idx++) {
Vector record=(Vector)records.elementAt(idx);
String host=(String)record.elementAt(2);
String account=(String)record.elementAt(3);
String passw=(String)record.elementAt(4);
String interval=(String)record.elementAt(5);
String leave=(String)record.elementAt(6);
String msg=(String)record.elementAt(7);
System.out.println("host="+host+", account="+account+", interval="+interval+"sec, msg="+msg);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector rights=cli.getAccountRights("john@company.com");
if(rights.size()==0)
System.out.println("no rights.");
else
System.out.println(rights);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector rights=cli.getAccountRights("john@company.com");
rights.addElement("Domain");
rights.addElement("CanCreateAccounts");
cli.setAccountRights("john@company.com",rights);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String account="john@company.com";
System.out.println("Storage:"+cli.getAccountInfo(account,"StorageUsed"));
System.out.println("Subscription:"+cli.getAccountInfo(account,"Subscription"));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountPrefs("john@company.com");
for(Enumeration e = settings.keys(); e.hasMoreElements();) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("Frames","YES");
settings.put("DraftsBox","DRAFTS");
settings.put("SentBox","OUTBOX");
settings.put("Signature","Sincerely yours,\\e John");
cli.updateAccountPrefs("john@company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.listGroups(null)); //list groups for the main domain
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("RealName","Sales staff");
settings.put("FinalDelivery","YES");
settings.put("RemoveToAndCc","YES");
settings.put("SetReplyTo","YES");
Vector members=new Vector();
members.addElement("john");
members.addElement("sales_box#mary");
members.addElement("bill@partner.dom");
settings.put("Members",members);
cli.createGroup("sales@company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.renameGroup("sales@company.com","support");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteGroup("support@company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getGroup("sales@company.com");
for(Enumeration e = settings.keys(); e.hasMoreElements();) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getGroup("sales@company.com");
Vector members=(Vector)settings.get("Members");
members.addElement("john");
settings.put("Members",members);
cli.setGroup("sales@company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.listForwarders(null)); //list forwarders for the main domain
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.createForwarder("john@company.com","john@external.site.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteForwarder("john@company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println("Address is "+cli.getForwarder("john@company.com"));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.findForwarders("company.com","john@external.site.com"));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.listDomains());
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println("The main domain name is "+cli.mainDomainName());
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getDomain(null); //get main domain settings
for(Enumeration e = settings.keys(); e.hasMoreElements();) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("WebUserCache","NO");
cli.updateDomain("www.company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.createDomain("www.company.com",null); //create domain with default settings
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.reloadDirectoryDomains();
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.renameDomain("www.company.com","new.company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteDomain("new.company.com",true);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.getDomainAliases("company.com"));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector aliases=cli.getDomainAliases("company.com");
aliases.addElement("mail.company.com");
aliases.addElement("smtp.company.com");
cli.setDomainAliases("company.com",aliases);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getDirectoryIntegration();
System.out.println("The directory integration settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getDomainDefaults();
System.out.println("The default domain settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("MailToUnknown","Rejected");
cli.updateDomainDefaults(settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAllAccountsDefaults();
System.out.println("The default settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("AccessModes","All");
cli.updateAllAccountsDefaults(settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String path=cli.getDomainLocation("company.com");
System.out.println("The domain directory is /var/CommuniGate/"+path);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String path=cli.getAccountLocation("user");
System.out.println("The account directory is /var/CommuniGate/Accounts/"+path);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountDefaults("company.com");
System.out.println("The default account settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("MaxAccountSize","100K");
cli.updateAccountDefaults("company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountDefaults("company.com");
settings.put("MaxAccountSize","100K");
cli.setAccountDefaults("company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountDefaultPrefs("company.com");
System.out.println("The default WebUser settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountDefaultPrefs("company.com");
settings.put("Charset","ISO-8859-1");
settings.put("DeleteMode","Immediately");
cli.setAccountDefaultPrefs("company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountTemplate("company.com");
System.out.println("The template account settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("InitialMessage","Welcome to CommuniGate Pro!!!");
settings.put("MaxAccountSize","unlimited");
Vector mboxes=new Vector();
mboxes.addElement("SentItems");
mboxes.addElement("Drafts");
settings.put("InitialMailboxes",mboxes);
cli.updateAccountTemplate("company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getAccountTemplate("company.com");
settings.put("InitialMessage","Welcome to CommuniGate Pro!!!");
settings.put("MaxAccountSize","unlimited");
Vector mboxes=new Vector();
mboxes.addElement("SentItems");
mboxes.addElement("Drafts");
settings.put("InitialMailboxes",mboxes);
cli.setAccountTemplate("company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable boxes=cli.listMailboxes("john@company.com",null,null);
System.out.println("The John's mailboxes are:");
for(Enumeration e = boxes.keys() ; e.hasMoreElements() ;) {
String name=(String)e.nextElement();
Object value=boxes.get(name);
System.out.println(" "+name+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.createMailbox("john@company.com","My favorite items",null);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.renameMailbox("john@company.com","My favorite items","MyItems",null);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteMailbox("john@company.com","MyItems",null);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getMailboxInfo("john@company.com","INBOX",null);
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.getMailboxACL("john@company.com","INBOX",null));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable acl=cli.getMailboxACL("john@company.com","INBOX",null);
acl.put("boss","ipcda");
acl.put("+susan","lrsw");
cli.setMailboxACL("john@company.com","INBOX",acl,null);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String rights=cli.getMailboxRights("john@company.com","INBOX","boss");
if(rights.length()==0) System.out.println("The boss account has no rights to access this mailbox");
else System.out.println("the Boss' rights are: "+rights);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setMailboxClass("john@company.com","Calendar","IPF.Appointment",null);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector subscription=cli.getAccountSubscription("john@company.com");
System.out.println("The subscribed mailboxes are: "+subscription);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector subscription=cli.getAccountSubscription("john@company.com");
subscription.add("~user@company.com/INBOX");
cli.setAccountSubscription("john@company.com",subscription);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable aliases=cli.getMailboxAliases("john@company.com");
aliases.put("ExternalUserInbox","~user@company.com/INBOX");
cli.setMailboxAliases("john@company.com",aliases);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable alerts=cli.getDomainAlerts("company.com");
for(Enumeration e = alerts.keys() ; e.hasMoreElements() ;) {
String time=(String)e.nextElement();
String message=(String)alerts.get(time);
System.out.println(time+" "+message);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable alerts=new Hashtable();
alerts.put("20001225235959","Merry Christmas!");
alerts.put("20000101000000","Happy New Year!");
cli.setDomainAlerts("company.com",alerts);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.postDomainAlert("company.com","We're shutting down in 10 minutes!");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.removeDomainAlert("company.com","20001225235959");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector fInfo=cli.getWebFile("john@company.com","logo.gif");
String fDate=(String)fInfo.elementAt(1);
String year=(String)fDate.substring(0,4);
String month=(String)fDate.substring(5,7);
String day=fDate.substring(8,10);
System.out.println("File modification date: "+month+"/"+day+"/"+year);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.renameWebFile("john@company.com","StalkerLogo.gif","logo.gif");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteWebFile("john@company.com","logo.gif");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable files=cli.listWebFiles("john@company.com",null);
for(Enumeration e = files.keys(); e.hasMoreElements();) {
String file=(String)e.nextElement();
Object value=files.get(file);
System.out.println(" "+file+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector info=cli.getWebFilesInfo("john@company.com");
String nBytes=(String)info.elementAt(0);
String nFiles=(String)info.elementAt(1);
System.out.println("There are "+nFiles+" files "+nBytes+" bytes total.");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector lists=cli.listLists(null);
System.out.println("The main domain lists:");
for(Enumeration e = lists.elements(); e.hasMoreElements();) {
String list=(String)e.nextElement();
System.out.println(" "+list);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable lists=cli.getDomainLists(null);
System.out.println("The main domain lists:");
for(Enumeration e = lists.keys(); e.hasMoreElements();) {
String list=(String)e.nextElement();
String value=(String)lists.get(list);
if(value.equals("-1")) value="unknown"; //number of subscribers
System.out.println(" "+list+"("+value+")");
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable lists=cli.getAccountLists("john@company.com");
System.out.println("The john's lists:");
for(Enumeration e = lists.keys(); e.hasMoreElements();) {
String list=(String)e.nextElement();
String value=(String)lists.get(list);
if(value.equals("-1")) value="unknown"; //number of subscribers
System.out.println(" "+list+"("+value+")");
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.createList("TestList@company.com","john");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.renameList("TestList@company.com","InfoList");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteList("InfoList@company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getList("TestList@company.com");
System.out.println("The list settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("RealName","the test list");
cli.updateList("TestList@company.com",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.list("TestList@company.com","subscribe","\"John Smith\" <john@company.com>",false,false);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector subscribers=cli.listSubscribers("TestList@company.com",null,0);
System.out.println(subscribers);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setPostingMode("TestList@company.com","john@company.com","UNMODERATED");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector skins=cli.listDomainSkins("company.com");
System.out.println(skins);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.createDomainSkin("company.com","my skin");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable files=cli.listDomainSkinFiles("company.com","my skin");
System.out.println("The skin files are:");
for(Enumeration e = files.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=files.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector file=cli.readDomainSkinFile("company.com","my skin","Logo.gif);
System.out.println("Date (YyyyMmDdHhMmSs):"+file.elementAt(1));
System.out.println("Base64 data:"+file.elementAt(0));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector skins=cli.listServerSkins();
System.out.println(skins);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable files=cli.listWebUserInterface("company.com",null);
for(Enumeration e = files.keys(); e.hasMoreElements();) {
String file=(String)e.nextElement();
Object value=files.get(file);
System.out.println(" "+file+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.getWebUserInterface("*","Logo.gif"));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.deleteWebUserInterface("*","Logo.gif");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.clearWebUserCache("company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String sessionID=cli.createWebUserSession("john@company.com","127.0.0.1","WML","mySkin");
System.out.println("The new session ID ="+sessionID);
Hashtable settings=cli.getWebUserSession(sessionID);
System.out.println("The session settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
cli.killWebUserSession(sessionID);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getModule("SMTP");
System.out.println("The SMTP settings are:");
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=new Hashtable();
settings.put("LogLevel","3");
cli.updateModule("SMTP",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getModule("SMTP");
settings.put("LogLevel","3");
cli.updateModule("SMTP",settings);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String addresses=cli.getBlacklistedIPs();
System.out.println(addresses);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable settings=cli.getProtection();
for(Enumeration e = settings.keys() ; e.hasMoreElements() ;) {
String key=(String)e.nextElement();
Object value=settings.get(key);
System.out.println(" "+key+"="+value);
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setBlacklistedIPs("11.22.33.44\\e33.44.55.66");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.setClientIPs("10.0.0.1-10.0.0.255");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector rules=cli.getServerMailRules();
for(int idx=0;idx<rules.size();idx++) {
Vector rule=(Vector)rules.elementAt(idx);
System.out.println("\nName="+rule.elementAt(1)+" Priority="+rule.elementAt(0));
Vector conditions=(Vector)rule.elementAt(2);
Vector actions=(Vector)rule.elementAt(3);
System.out.println(" If");
for(int idxc=0;idxc<conditions.size();idxc++) {
System.out.println(" "+conditions.elementAt(idxc));
}
System.out.println(" Then");
for(int idxa=0;idxa<actions.size();idxa++) {
System.out.println(" "+actions.elementAt(idxa));
}
}
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.refreshOSData();
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String data=cli.getRouterTable();
System.out.println(data);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String data=cli.getRouterTable();
if(!data.substring(data.length()-2,data.length()).equals("\\e")) data+="\\e";
data+="<addr>=addr@domain.com\\e";
cli.setRouterTable(data);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Vector route=cli.route("user@domain.net",false);
System.out.println("Module ="+route.elementAt(0));
System.out.println("Host ="+route.elementAt(1));
System.out.println("Address ="+route.elementAt(2));
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
String msgs=cli.getSNMPElement("1.3.6.1.4.1.5678.2.1.1.1.10");
System.out.println("incoming SMTP messages: "+msgs);
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.shutdown();
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable stats=cli.getAccountStat("john@company.com");
String nMessages=(String)stats.get("MessagesReceived");
String nBytes=(String)stats.get("BytesReceived");
System.out.println("The user had received "+nMessages+" messages "+nBytes+" bytes total.");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.resetAccountStat("john@company.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
Hashtable stats=cli.getDomainStat("company.com");
String nMessages=(String)stats.get("MessagesReceived");
String nBytes=(String)stats.get("BytesReceived");
System.out.println("The domain had received "+nMessages+" messages "+nBytes+" bytes total.");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.resetDomainStat("*");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.writeLog(1,"This is my log message!");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.releaseSMTPQueue("mail.server.com");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.rejectQueueMessage("12345","your message is rejected");
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.getCurrentController());
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(cli.getTempClientIPs());
} catch(CGProException e) {
System.out.println(e.getMessage());
}
try {
cli.removeAccountSubset("user@domain.com","RepliedAddresses");
} catch(CGProException e) {
System.out.println(e.getMessage());
}