SmarterMail 4.x Help
This documentation is for a product that is no longer supported by SmarterTools.

Automation with Web Services

SmarterMail was built with custom configuration in mind. In addition to being able to customize the look and feel of SmarterMail, developers and/or System Administrators have the ability to code to the SmarterMail application using several different web services. These web services allow developers and/or System Administrators to automate a variety of different things: add domains to SmarterMail on the fly, grab domain-specific bandwidth usage for billing purposes, set details on a specific domain or server, update domain information, test servers added to the Web Interface, and more.

To view the web services and the corresponding functions available to you, go to your default Web Interface install location and append "services/SERVICENAME.asmx". Your particular SmarterMail location can be the specific IP address of the Web Interface (e.g. if you installed SmarterMail with the default installation you would use http://127.0.0.1:9998/services/SiteAdmin.asmx, etc. or a specific IP address you assigned for the Web Interface if you custom-installed SmarterMail or moved SmarterMail to a new web server) or a specific site name if you configured SmarterMail as an actual website within IIS (e.g. mail.example.com). Below you will find a brief explanation of the web services available to you, along with the default installation paths to the specific web services details page.

User Alias Administration

http://127.0.0.1:9998/Services/svcAliasAdmin.asmx

There are six (6) functions of this service available for customization. These services allow developers and/or System Administrators to dynamically create email aliases using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding functions, are:

  • DeleteAlias - will delete a specified email alias.
  • UpdateAlias - will update a specified email alias.
  • GetAlias - will return information on a specified email alias.
  • AddAlias - will created an email alias and add it to the specified domain.
  • GetAliases - will return all aliases that belong to a specified domain.
  • SetCatchAll - sets the specified alias to be the catch-all, or clears the catch-all if a blank alias name is provided.

Domain Administration

http://127.0.0.1:9998/Services/svcDomainAdmin.asmx

There are twenty-seven (27) functions of this service available for customization. These services allow developers and/or System Administrators to dynamically add or delete domains, return domain defaults, set a primary domain, and more using SOAP, an HTTP GET command, or an HTTP POST command (examples for each are provided as well). The functions, and their corresponding properties, are:

  • AddDomain - creates a new domain in the specified folder.
  • AddDomainForwardingBlock - adds a domain forwarding block.
  • DeleteDomain - deletes the specified domain.
  • DeleteDomainForwardBlockByTargetAddress - deletes a domain forwarding block.
  • DeleteDomainForwardingBlock - deletes a domain forwarding block.
  • DisableDomain - disable the given domain.
  • EnableDomain - enable the given domain.
  • GetAllDomainStatistics - returns the statistics for all domains over the specified period of time.
  • GetAllDomains - returns a list of all domain names.
  • GetDomainDefaults - returns the default domain settings in a DomainSettingsResult object.
  • GetDomainForwarding - returns the domain forwarding info in a DomainForwardInfoResult object.
  • GetDomainForwardingBlock - returns the domain forwarding block settings in a DomainForwardBlockInfoResult object.
  • GetDomainForwardingBlockByTargetAddress - returns the domain forwarding block settings in a DomainForwardBlockInfoResult object.
  • GetDomainInfo - returns the default domain settings in a DomainSettingsResult object.
  • GetDomainSettings - returns the default domain settings in a DomainSettingsResult object.
  • GetDomainStatistics - returns the statistics for the specified domain over the specified period of time.
  • GetPrimaryDomainAdmin - gets the primary domain admin of the specified domain.
  • GetRequestedDomainDefaults - returns the default domain settings in a DomainSettingsResult object.
  • GetRequestedDomainSettings - gets the settings for the specified domain.
  • ReloadDomain - reloads the specified domain's settings.
  • RenameDomain - renames the specified domain.
  • SetDomainForwardingBlock - updates the target address and domains in a domain forwarding block.
  • SetDomainForwardingBlockByTargetAddress - updates the target address and domains in a domain forwarding block.
  • SetPrimaryDomainAdmin - sets the specified user to be the primary domain admin of the specified domain.
  • SetRequestedDomainSettings - updates the settings for the specified domain.
  • UpdateDomain - updates the settings for the specified domain.
  • UpdateDomainNameAndPath - changes the specified domain's name and/or path.

Mail List Administration

http://127.0.0.1:9998/Services/svcMailListAdmin.asmx

There are sixteen (16) functions of this service available for customization. These functions allow developers and/or System Administrators to control their mailing lists using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding functions, are:

  • AddDigestSubscriber - adds a digest subscriber to the specified list.
  • AddList - adds a mailing list to the specified domain.
  • AddSubscriber - adds a subscriber to the specified list.
  • DeleteAllLists - deletes all mailing lists that belong to the specified domain.
  • DeleteList - deletes a mailing list that belongs to the specified domain.
  • GetDigestSubscriberList - returns the digest subscribers for the given list.
  • GetListCommandAddress - gets the command list address for the specified domain.
  • GetMailingListsByDomain - deletes all mailing lists that belong to the specified domain.
  • GetRequestedListSettings - gets the requested settings for the specified list.
  • GetSubscriberList - returns the subscribers for the given list.
  • RemoveDigestSubscriber - removes a digest subscriber to the specified list.
  • RemoveSubscriber - removes a subscriber to the specified list.
  • SetDigestSubscriberList - sets the digest subscribers for the given list.
  • SetListCommandAddress - sets the command list address for the specified domain.
  • SetRequestedListSettings - sets the requested settings for the specified list.
  • SetSubscriberList - sets the subscribers for the given list.

Product Info Web Service

http://127.0.0.1:9998/Services/svcProductInfo.asmx

There are four (4) functions of this service available for customization. These services allow developers and/or System Administrators to dynamically activate or retrieve licensing information, return product name and version number, and more using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding properties, are:

  • ActivateLicenseKey - will activate the product with a previously set license key using the specified SmarterTools account credentials.
  • GetLicenseInfo - returns the license key for the product.
  • GetProductInfo - will return the product name and version number.
  • SetLicenseKey - will set the product license key.

Global Update Web Service

http://127.0.0.1:9998/Services/svcGlobalUpdate.asmx

There are three (3) functions for this service. These services allow server administrator to set/update settings for every domain on the server using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding properties, are:

  • UpdateAllDomainSettings - sets the supplied fields and values for all domains on the server.
  • ListGlobalUpdateFields - lists all the fields that can be updated using UpdateAllDomainSettings.
  • GetGlobalUpdateStatus - gets the current status of the update (ex. 550 of 1335 domains updated).

Domain Alias Administration

http://127.0.0.1:9998/Services/svcDomainAliasAdmin.asmx

There are four (4) functions for this service. These services allow server administrator to add/remove and check domain aliases for a given domain using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding properties, are:

  • DeleteDomainAlias - deletes the specified domain alias.
  • GetAliases - returns all domain aliases that belong to the specified domain .
  • AddDomainAlias - creates a new domain alias and adds it to the specified domain.
  • AddDomainAliasWithoutMxCheck - creates a new domain alias and adds it to the specified domain without doing an MX lookup on the new alias.

User Administration

http://127.0.0.1:9998/Services/svcUserAdmin.asmx

There are twenty-one (21) functions of this service available for customization. These services allow developers and/or Administrators to dynamically create or delete users, return user statistics, return user attributes, update user information and more using SOAP, an HTTP GET command, or an HTTP POST command. The functions, and their corresponding properties, are:

  • AddUser - creates a new user and adds them to the specified domain.
  • AddUser2 - creates a new user and adds them to the specified domain.
  • AddUserGroup - creates a new user group adds it to the specified domain.
  • AuthenticateUser - returns a true ResultCode if the user name, domain name, and password match.
  • DeleteUser - deletes the specified user from the specified domain.
  • GetRequestedUserSettings - gets the specified user's settings.
  • GetUser - returns attributes of the specified user.
  • GetUserAutoResponseInfo - returns the forwarding info of the specified user.
  • GetUserForwardingInfo - returns the forwarding info of the specified user.
  • GetUserGroup - gets a user group in the specified domain with the given id.
  • GetUserGroupsByDomain - get all user groups in the specified domain.
  • GetUserGroupsByUser - get all user groups in the specified domain containing the give user.
  • GetUserStats - returns statistics of the specified user for the specified time period.
  • GetUsers - Returns attributes of each user in the specified domain.
  • LoginValidated - returns a LoginResult object with the LoginValidated field set to True if the specified username matches the specified password.
  • RemoveUserGroup - deletes a user group from the specified domain with the given id.
  • SetRequestedUserSettings - updates the specified user's settings.
  • UpdateUser - updates the specified user's settings.
  • UpdateUser2 - updates the specified user's settings.
  • UpdateUserAutoResponseInfo - updates the specified user's auto response settings.
  • UpdateUserForwardingInfo - updates the specified user's forwarding settings.

Server Administration

http://127.0.0.1:9998/Services/svcServerAdmin.asmx

There is one (1) function of this service available for customization. This service allows developers and/or Administrators to monitor the server spool using SOAP, an HTTP GET command, or an HTTP POST command. The function, and their corresponding properties, is:

  • GetSpoolMessageCount - returns the number of messages in the spool.

Syncronization

http://127.0.0.1:9998/Services/svcOutlookAddin.asmx

There are thirty-four (34) functions of this service available for customization. This service allows developers and/or Administrators to monitor the server spool using SOAP, an HTTP GET command, or an HTTP POST command. The function, and their corresponding properties, is:

  • AddCalendar - Deprecated. Please use AddCalendarEx.
  • AddCalendarEx - Adds a calendar item to a folder.
  • AddContact - Deprecated. Please use AddContactEx.
  • AddContactEx - Adds a contact item to a folder.
  • AddNoteEx - Adds a note item to a folder.
  • AddTask - Deprecated. Please use AddTaskEx.
  • AddTaskEx - Adds a task item to a folder.
  • DeleteCalendar - Deprecated. Please use DeleteCalendarEx.
  • DeleteCalendarEx - Deletes a calendar from a folder.
  • DeleteContact - Deprecated. Please use DeleteContactEx.
  • DeleteContactEx - Deletes a contact from a folder.
  • DeleteNoteEx - Deletes a note from a folder.
  • DeleteTask - Deprecated. Please use DeleteTaskEx.
  • DeleteTaskEx - Deletes a task from a folder.
  • FreeBusy - Returns times when a users calendar is busy.
  • GetCalendar - Deprecated. Please use GetCalendarEx.
  • GetCalendarEx - Returns a calendar based on guid.
  • GetContact - Deprecated. Please use GetContactEx.
  • GetContactEx - Returns a contact based on guid.
  • GetItemCount - Returns a count of each type of item.
  • GetNoteEx - Returns a note based on guid.
  • GetTask - Deprecated. Please use GetTaskEx.
  • GetTaskEx - Returns a task based on guid.
  • GetUserFolders - Returns the folders to which the user has access.
  • IsLicensed - Returns true or false depending on if the domain has a license key for the Sync Tool.
  • Login - Returns true or false depending on if the login and password is correct.
  • RequestCalendarList - Deprecated. Please use RequestCalendarListEx.
  • RequestCalendarListEx - Returns a list of guids and their hashes corresponding to all calendar events.
  • RequestContactList - Deprecated. Please use RequestContactListEx.
  • RequestContactListEx - Returns a list of guids and their hashes corresponding to all contacts.
  • RequestNoteListEx - Returns a list of guids and their hashes corresponding to all notes.
  • RequestTaskList - Deprecated. Please use RequestTaskListEx.
  • RequestTaskListEx - Returns a list of guids and their hashes corresponding to all tasks.
  • VersionNumber - Returns the version of SmarterMail.