Forums & Blog

A SmarterTools-sponsored community.
Welcome to Forums & Blog Sign in | Join | Help
in Search

Web Services and Coldfusion

Last post 03-26-2008 7:09 AM by welikeit.net. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 03-25-2008 10:28 AM

    Web Services and Coldfusion

     A lot can be done using coldfusion. Post your functions and other good snippets here.

    Filed under: ,
  • 03-25-2008 10:32 AM In reply to

    GetAllUsers

     <!--- working - GetAllUsers Query --->
    <cfscript>
        GetAllUsers=QueryNew("EmailAddress");
        oDomainAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcDomainAdmin.asmx?wsdl");
        oUserAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcUserAdmin.asmx?wsdl");
        GetAllDomains_Result=oDomainAdmin.GetAllDomains("Administrator", "****Password****");
        aDomains=GetAllDomains_Result.getDomainNames().getString();
        for (j=1;j LTE ArrayLen(aDomains); j=j+1){
            GetUsers_Result=oUserAdmin.GetUsers("Administrator", "****Password****", aDomains[j]);
            if(GetUsers_Result.isResult()){
                aUsers=GetUsers_Result.getUsers().getUserInfo();
                for (i=1;i LTE ArrayLen(aUsers); i=i+1){
                    //filter out default DomainAdmin mailboxes
                    if(left(aUsers[ i ].getUserName(),11) NEQ "DomainAdmin"){
                        QueryAddRow(GetAllUsers,1);
                        QuerySetCell(GetAllUsers,"EmailAddress",aUsers[ i ].getUserName(),GetAllUsers.RecordCount);
                    }
                }
            } else {
                writeoutput(GetUsers_Result.getMessage()&"<br />");
            }
        }
    </cfscript>
    <cfdump var="#GetAllUsers#" label="GetAllUsers">

    CFMX 8 

  • 03-25-2008 10:35 AM In reply to

    Add New Users from query

     <!--- working - Add New Users from query --->
    <cfquery datasource="MailImport" name="GetUPs">
        SELECT Email,Password FROM UsersNPasswords
    </cfquery>
    <cfscript>
        oUserAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcUserAdmin.asmx?wsdl");
        for (i=1;i LTE GetUPs.RecordCount; i=i+1){
            //GetUPs.Email[ i ]
            //GetUPs.Password[ i ]
            user_i=ListFirst(GetUPs.Email[ i ],"@");
            password_i=GetUPs.Password[ i ];
            domain_i=ListLast(GetUPs.Email[ i ],"@");
            addUser_Result=oUserAdmin.addUser("Administrator", "***Password***", user_i, password_i, domain_i, "", "", 0);
            if(addUser_Result.isResult()){
            } else {
                writeoutput(addUser_Result.getMessage()&"<br />");
            }
        }
    </cfscript>

    CFMX 8 

  • 03-25-2008 10:43 AM In reply to

    Insert Domains from query

     <!--- working - Insert Domains from query --->
    <cfquery datasource="MailImport" name="GetDomains">
        SELECT [Domain] FROM [Domains]
    </cfquery>
    <cfscript>
        oDomainAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcDomainAdmin.asmx?wsdl");
    </cfscript>
    <cfloop query="GetDomains">
        <!---
        Note that we add a user here named DomainAdmin to serve as the domain admin
        Also, check the defaults, some may not serve your preferances.
        Also, check the path of the directory
         --->
        <cfscript>
            addDomain_Result=oDomainAdmin.addDomain("Administrator", "**password**", GetDomains.Domain, "d:\SmarterMail\Domains\#GetDomains.Domain#", "DomainAdmin", "**userPassword**", "Default", "User", "69.111.180.201", 143, 110, 25, 0, 0, 0, 0, 20000, 100, 2, 0, false, true, true, true, true, false, "stServ");
            if(addDomain_Result.isResult()){
                
            } else {
                writeoutput(addDomain_Result.getMessage());
            }
        </cfscript>
    </cfloop>

    CFMX 8 

  • 03-25-2008 10:48 AM In reply to

    Re: Insert Domains from query

     <!--- working Get Domain Names Array --->
    <cfscript>
        oDomainAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcDomainAdmin.asmx?wsdl");
        GetAllDomains_Result=oDomainAdmin.GetAllDomains("Administrator", "**password**");
        if(GetAllDomains_Result.isResult()){
            
        } else {
            writeoutput(GetAllDomains_Result.getMessage());
        }
    </cfscript>
    <!--- GetAllDomains_Result.getDomainNames().getString() is the array of domains --->
    <cfdump var="#oDomainAdmin#" label="oBandwidth">
    <cfdump var="#GetAllDomains_Result#" label="GetAllDomains_Result">
    <cfdump var="#GetAllDomains_Result.getDomainNames()#" label="GetAllDomains_Result.getDomainNames()">
    <cfdump var="#GetAllDomains_Result.getDomainNames().getString()#" label="GetAllDomains_Result.getDomainNames().getString()">

    CFMX 8

  • 03-26-2008 7:09 AM In reply to

    Get Domain Defaults

    Notice the SmartArray custom function, it creates an array inside a structure in the proper format for the .net webservice to read the values.

    <!--- working - Get Domain Defaults --->
    <cfscript>
        oDomainAdmin = createObject("webservice","http://mail.welikeitmail.net/Services/svcDomainAdmin.asmx?wsdl");
        getDomainDefaults_Result=oDomainAdmin.GetRequestedDomainDefaults("Administrator", "**Password**", SmartArray("defaultaltsmtpport,defaultaltsmtpportenabled,defaultautoresponderrestriction,defaultbypassgreylisting,defaultenablecatchalls,defaultenabledomainkeys,defaultenableemailreports,defaultenablepopretrieval,defaultimapport,defaultldapport,defaultmaxaliases,defaultmaxdomainaliases,defaultmaxdomainsize,defaultmaxdomainusers,defaultmaxlists,defaultmaxmailboxsize,defaultmaxmessagesize,defaultmaxpopretrievalaccounts,defaultmaxrecipients,defaultpopport,defaultsharedcalendar,defaultsharedcontact,defaultsharedfolder,defaultsharedgal,defaultsharednotes,defaultsharedtasks,defaultshowcalendar,defaultshowcontacts,defaultshowcontentfilteringmenu,defaultshowdomainaliasmenu,defaultshowdomainreports,defaultshowlistmenu,defaultshownotes,defaultshowspammenu,defaultshowtasks,defaultshowuserreports,defaultskin,defaultsmtpauthenticationrequired,defaultsmtpport,defaultspamresponderoption,defaultspamforwardoption",","));
        if(getDomainDefaults_Result.isResult() EQ false){
            writeoutput(getDomainDefaults_Result.getMessage());
        }
        
        sDefaultSettings=StructNew();
        if(getDomainDefaults_Result.isResult() EQ true){
            //convert string based results into a structure
            aDefaultSettings=getDomainDefaults_Result.getSettingValues().getString();
            for (j=1;j LTE ArrayLen(aDefaultSettings); j=j+1){
                name_j=ListFirst(aDefaultSettings[j],"=");
                value_j=ListLast(aDefaultSettings[j],"=");
                if(value_j EQ "True"){value_j=true;}    //set boolian
                if(value_j EQ "False"){value_j=false;}    //set boolian
                sDefaultSettings[name_j]=value_j;
            }
        }
        
        // custom function: SmartArray(string list, string delimiter) for passing an array of strings into .net webservices
        function SmartArray(SA_VarList, SA_VarDelim){
            SA_ArrayContainer=StructNew();
            ArrayContainer.string=ListToArray(SA_VarList,SA_VarDelim);
            return ArrayContainer;
        }
    </cfscript>
    <cfdump var="#sDefaultSettings#" label="sDefaultSettings">

    CFMX 8

Page 1 of 1 (6 items)