Difference between revisions of "Administration API - Function Reference"

Jump to: navigation, search
[quality revision][checked revision]
(RunTemporaryProfile)
 
(71 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- DO NOT EDIT THIS ARTICLE-->
 
<!-- The content is generated from get-metadata2mediawiki.py -->
 
 
__NOTOC__
 
__NOTOC__
  
Line 17: Line 15:
 
|-
 
|-
 
| <tt>type</tt>
 
| <tt>type</tt>
| string (optional)
+
| string
|  
+
| Type of archive store.
 
|-
 
|-
 
| <tt>databaseName</tt>
 
| <tt>databaseName</tt>
Line 60: Line 58:
 
! Description
 
! Description
 
|-
 
|-
| <tt>FileSystemStandard</tt>
+
| <tt>FileSystemInternal</tt>
| Standard archive store.
 
|-
 
| <tt>FileSystemAdvanced</tt>
 
 
| Advanced file system-based archive store.
 
| Advanced file system-based archive store.
 
|-
 
|-
 
| <tt>SQLServer</tt>
 
| <tt>SQLServer</tt>
| Microsoft SQL Server-based arechive store.
+
| Microsoft SQL Server-based archive store.
 
|-
 
|-
 
| <tt>PostgreSQL</tt>
 
| <tt>PostgreSQL</tt>
Line 134: Line 129:
 
| number  
 
| number  
 
| Unique ID of archive store
 
| Unique ID of archive store
 +
|}
 +
 +
== CreateBackup ==
 +
Create a backup of the entire archive.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>path</tt>
 +
| string
 +
| Path to directory into which the backup should be written.
 +
|-
 +
| <tt>excludeSearchIndexes</tt>
 +
| bool (optional)
 +
| Indicates whether the search index files should be excluded from the backup.
 
|}
 
|}
  
Line 159: Line 172:
 
| <tt>timeZoneId</tt>
 
| <tt>timeZoneId</tt>
 
| string (optional)
 
| string (optional)
| The time zone the date should be converted to, e.g. ''$Local'', which represents the time zone of the operating system.
+
| The id of the time zone the date should be converted to, e.g. ''$Local'', which represents the time zone of the operating system.
 
|-
 
|-
 
| <tt>date</tt>
 
| <tt>date</tt>
Line 181: Line 194:
 
| Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further.
 
| Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further.
 
|}
 
|}
 +
 +
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids.
  
 
=== Argument Values ===
 
=== Argument Values ===
Line 217: Line 232:
 
|-
 
|-
 
| <tt>1 to 31</tt>
 
| <tt>1 to 31</tt>
| Numeric represation of day of month.
+
| Numeric representation of day of month.
 
|-
 
|-
 
| <tt>Last</tt>
 
| <tt>Last</tt>
Line 252: Line 267:
 
| Every 3 hours.
 
| Every 3 hours.
 
|-
 
|-
| <tt>260</tt>
+
| <tt>240</tt>
 
| Every 4 hours.
 
| Every 4 hours.
 
|-
 
|-
Line 283: Line 298:
  
 
==== properties ====
 
==== properties ====
To receive available profile properties create a profile of the desired type via MailStore Client and use the GetProfiles method to receive supported value.
+
To receive available profile properties create a profile of the desired type via MailStore Client and then use the GetProfiles method to receive supported values. The properties ''id'' and ''version'' must be omitted, the password field must be filled properly.
  
 
== CreateStore ==
 
== CreateStore ==
Line 300: Line 315:
 
| <tt>type</tt>
 
| <tt>type</tt>
 
| string (optional)
 
| string (optional)
|  
+
| Type of archive store.
 
|-
 
|-
 
| <tt>databaseName</tt>
 
| <tt>databaseName</tt>
Line 342: Line 357:
 
! Description
 
! Description
 
|-
 
|-
| <tt>FileSystemStandard</tt>
+
| <tt>FileSystemInternal</tt>
 
| Standard archive store.
 
| Standard archive store.
|-
 
| <tt>FileSystemAdvanced</tt>
 
| Advanced file system-based archive store.
 
 
|-
 
|-
 
| <tt>SQLServer</tt>
 
| <tt>SQLServer</tt>
| Microsoft SQL Server-based arechive store.
+
| Microsoft SQL Server-based archive store.
 
|-
 
|-
 
| <tt>PostgreSQL</tt>
 
| <tt>PostgreSQL</tt>
Line 374: Line 386:
  
 
== CreateUser ==
 
== CreateUser ==
Create new MailStore user.
+
Create new MailStore user. Use [[Administration_API_-_Function_Reference#SetUserPrivilegesOnFolder|SetUserPrivilegesOnFolder]] to grant that user privileges on the user's own archive.
  
 
=== Arguments ===
 
=== Arguments ===
Line 406: Line 418:
 
| Password of new user.
 
| Password of new user.
 
|}
 
|}
 +
 +
=== Argument Values ===
 +
 +
==== privileges ====
 +
{{Administration_API_User_Privileges}}
  
 
== DeleteEmptyFolders ==
 
== DeleteEmptyFolders ==
Line 431: Line 448:
 
|-
 
|-
 
| <tt>id</tt>
 
| <tt>id</tt>
| string (optional)
+
| string
| The uniqe identifier of the job to be deleted.
+
| The unique identifier of the job to be deleted.
 
|}
 
|}
  
Line 445: Line 462:
 
|-
 
|-
 
| <tt>id</tt>
 
| <tt>id</tt>
| string (optional)
+
| string
 
| Unique ID of message. Format: <store_id>:<message_num>
 
| Unique ID of message. Format: <store_id>:<message_num>
 +
|-
 +
| <tt>reason</tt>
 +
| string
 +
| The reason why that message has to be deleted which will be written into the audit log.
 
|}
 
|}
  
Line 465: Line 486:
 
== DeleteUser ==
 
== DeleteUser ==
 
Delete a MailStore user.
 
Delete a MailStore user.
 +
Neither the user's archive nor the user's archive emails are deleted when deleting a user.
  
 
=== Arguments ===
 
=== Arguments ===
Line 478: Line 500:
  
 
== DetachStore ==
 
== DetachStore ==
Detach archive store
+
Detach an archive store.
  
 
=== Arguments ===
 
=== Arguments ===
Line 496: Line 518:
 
== GetChildFolders ==
 
== GetChildFolders ==
 
Get child folders.
 
Get child folders.
 +
Depending on compliance settings this method may return only the first folder hierarchy level.
  
 
=== Arguments ===
 
=== Arguments ===
Line 505: Line 528:
 
| <tt>folder</tt>
 
| <tt>folder</tt>
 
| string (optional)
 
| string (optional)
| Parent folder.
+
| Parent folder whose child folders should be returned. If omitted, all archives and folder will be returned.
 
|-
 
|-
 
| <tt>maxLevels</tt>
 
| <tt>maxLevels</tt>
Line 538: Line 561:
 
| End of time range to fetch.
 
| End of time range to fetch.
 
|-
 
|-
| <tt>timeZoneID</tt>
+
| <tt>timeZoneId</tt>
 
| string  
 
| string  
| Time zone in which timestamp should be returned.
+
| The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
 
|-
 
|-
| <tt>JobId</tt>
+
| <tt>jobId</tt>
 
| number (optional)
 
| number (optional)
 
| The job id for which to retrieve results.
 
| The job id for which to retrieve results.
 
|}
 
|}
 +
 +
Interactive Management Shell Example: ''GetJobResults --fromIncluding="2016-12-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --timeZoneId="$Local" --jobId=1''
 +
 +
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids.
  
 
== GetJobs ==
 
== GetJobs ==
Line 577: Line 604:
 
| Currently only 'true' is supported.
 
| Currently only 'true' is supported.
 
|}
 
|}
 +
 +
== GetRetentionPolicies ==
 +
Get the retention policies.
 +
 +
Example retention policies object:
 +
 +
[
 +
  {
 +
    "name": "Keep All Mails for 10 Years",
 +
    "order": 1,
 +
    "enabled": true,
 +
    "searchCriteria": null,
 +
    "period": 10,
 +
    "periodInterval": "year",
 +
    "delete": false
 +
  }
 +
]
  
 
== GetServerInfo ==
 
== GetServerInfo ==
Line 583: Line 627:
 
== GetServiceConfiguration ==
 
== GetServiceConfiguration ==
 
Get MailStore Server service configuration. This includes the path to the Master Database, the location of the audit log, whether the different debug logs are enabled and the endpoint configuration.
 
Get MailStore Server service configuration. This includes the path to the Master Database, the location of the audit log, whether the different debug logs are enabled and the endpoint configuration.
 +
 +
== GetSmtpSettings ==
 +
Get current SMTP configuration.
  
 
== GetStoreIndexes ==
 
== GetStoreIndexes ==
Get list of attachment file types to index.
+
Get list of full text indexes.
  
 
=== Arguments ===
 
=== Arguments ===
Line 600: Line 647:
 
== GetStores ==
 
== GetStores ==
 
Get list of archive stores.
 
Get list of archive stores.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>includeSize</tt>
 +
| bool (optional)
 +
| Includes size of archive store. Default: ''true''. May be slow when running on slow hardware.
 +
|}
  
 
== GetTimeZones ==
 
== GetTimeZones ==
Get list of available time zones.
+
Get a list of available time zones.
 +
 
 +
The ''id'' of the output can be used as ''timeZoneId'' in [[Administration_API_-_Function_Reference#CreateJob|CreateJob]], [[Administration_API_-_Function_Reference#GetJobResults|GetJobResults]], [[Administration_API_-_Function_Reference#SetJobSchedule|SetJobSchedule]] and [[Administration_API_-_Function_Reference#SendStatusReport|SendStatusReport]] and as ''timeZoneID'' (with a capital ''ID'') in [[Administration_API_-_Function_Reference#GetJobResults|GetJobResults]].
  
 
== GetUserInfo ==
 
== GetUserInfo ==
Line 640: Line 700:
 
| <tt>timeZoneID</tt>
 
| <tt>timeZoneID</tt>
 
| string  
 
| string  
| Time zone in which timestamp should be returned.
+
| The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
 
|-
 
|-
 
| <tt>profileID</tt>
 
| <tt>profileID</tt>
Line 650: Line 710:
 
| Filter results by given user name.
 
| Filter results by given user name.
 
|}
 
|}
 +
 +
Interactive Management Shell Example: ''GetWorkerResults --fromIncluding="2016-01-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --timeZoneID="$Local" --profileID=1 --userName="admin"''
 +
 +
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids.
 +
 +
Be aware that ''timeZoneID'' has to be written with a capital ''ID'' where all other commands with a ''timeZoneId'' are expecting ''Id''.
  
 
== MaintainFileSystemDatabases ==
 
== MaintainFileSystemDatabases ==
Run database maintainance on all datbases of file system based archive stores.
+
Run database maintenance on all databases of file system based archive stores.
  
 
== MergeStore ==
 
== MergeStore ==
Line 689: Line 755:
 
| New folder name.
 
| New folder name.
 
|}
 
|}
 +
 +
== ProcessRetentionPolicies ==
 +
Processes the configured retention policies.
  
 
== RebuildSelectedStoreIndexes ==
 
== RebuildSelectedStoreIndexes ==
Line 709: Line 778:
 
| string  
 
| string  
 
| Name of folder name.
 
| Name of folder name.
 +
|}
 +
 +
== RecoverStore ==
 +
Recreates a broken Firebird database from recovery records. The archive store must have been upgraded to the latest version and the recovery records must not be corrupt. The archive store must be in the ''Disabled'' or ''Error'' state.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>id</tt>
 +
| number
 +
| Unique ID of archive store.
 +
|-
 +
| <tt>recoverDeletedMessages</tt>
 +
| bool (optional)
 +
| Defines whether to recover deleted messages.
 +
|}
 +
 +
When the ''recoverDeletedMessages'' parameter is set to ''true'', only deleted messages that still have leftovers in the recovery records can be recovered. When an archive store has been compacted with [[#CompactStore|CompactStore]] or recovery record files have grown to their auto-compacting size of 8 MiB these leftovers could already be removed and deleted messages cannot be recovered.
 +
 +
== RecreateRecoveryRecords ==
 +
Recreates broken Recovery Records of an archive store. Use ''VerifyStore'' to verify the state of the Recovery Records. Cannot be used for external archive stores that store their content in the database.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>id</tt>
 +
| number
 +
| Unique ID of archive store.
 
|}
 
|}
  
Line 733: Line 836:
  
 
== RenameStore ==
 
== RenameStore ==
Rename archvive store
+
Rename archive store
  
 
=== Arguments ===
 
=== Arguments ===
Line 767: Line 870:
 
| New user name.
 
| New user name.
 
|}
 
|}
 +
 +
== RenewMasterKey ==
 +
Renews the master key which is used to encrypt the encryption keys.
  
 
== RetryOpenStores ==
 
== RetryOpenStores ==
Retry opening stores that failed previously
+
Retry opening stores that failed previously.
  
 
== RunJobAsync ==
 
== RunJobAsync ==
Line 786: Line 892:
  
 
== RunProfile ==
 
== RunProfile ==
Run an existing archiving or exporting profile.
+
Run an existing archiving or exporting profile. Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under ''E-Mail Servers'' in the MailStore Client. Client side profiles can be started by using the [[MailStore_Server_Management_Shell|MailStoreCmd]] and the commands ''import-execute'' and ''export-execute''.
  
 
=== Arguments ===
 
=== Arguments ===
Line 800: Line 906:
  
 
== RunTemporaryProfile ==
 
== RunTemporaryProfile ==
Run a temporary/non-existent profile.
+
Run a temporary/non-existent profile.  Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under ''E-Mail Servers'' in the MailStore Client.
  
 
=== Arguments ===
 
=== Arguments ===
Line 824: Line 930:
 
== SelectAllStoreIndexesForRebuild ==
 
== SelectAllStoreIndexesForRebuild ==
 
Select all full-text indexes for rebuild.
 
Select all full-text indexes for rebuild.
 +
 +
== SendStatusReport ==
 +
Send a status report to the given recipients.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>timespan</tt>
 +
| string
 +
| Timespan that is covered by the status report.
 +
|-
 +
| <tt>timeZoneId</tt>
 +
| string
 +
| The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
 +
|-
 +
| <tt>recipients</tt>
 +
| string
 +
| Comma separated list of recipients that will receive the status report.
 +
|}
 +
 +
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids.
 +
=== Argument Values ===
 +
 +
==== Timespan ====
 +
{| class="wikitable"
 +
! width=270px | Name
 +
! Description
 +
|-
 +
| <tt>today</tt>
 +
| The day when the status report is sent.
 +
|-
 +
| <tt>yesterday</tt>
 +
| The day before the status report is sent.
 +
|-
 +
| <tt>thisweek</tt>
 +
| The week when the status report is sent.
 +
|-
 +
| <tt>lastweek</tt>
 +
| The week before the status report is sent.
 +
|-
 +
| <tt>thismonth</tt>
 +
| The month when the status report is sent.
 +
|-
 +
| <tt>lastmonth</tt>
 +
| The month before the status report is sent.
 +
|}
  
 
== SetComplianceConfiguration ==
 
== SetComplianceConfiguration ==
Line 842: Line 997:
  
 
==== config ====
 
==== config ====
Use GetComplianceConfiguration to receive supported value.
+
Use [[Administration_API_-_Function_Reference#GetComplianceConfiguration|GetComplianceConfiguration]] to receive supported values.
 +
 
 +
Example settings object:
 +
<source lang="js" smart-tabs="true" toolbar="false" gutter="false">
 +
{
 +
  "adminEmailPreviewEnabled": true,
 +
  "legalHoldEnabled": false,
 +
  "logSuccessfulUserActivities": [
 +
    "AdminRestored",
 +
    "ComplianceChangeSettings",
 +
    "FileGroupAttach",
 +
    "FileGroupCreate",
 +
    "FileGroupDetach",
 +
    "FileGroupRename",
 +
    "FileGroupSetProperties",
 +
    "FileGroupSetRequestedState",
 +
    "ProfileChangeUserName",
 +
    "UserAdd",
 +
    "UserDelete",
 +
    "UserRename",
 +
    "UserSetFolderAccess",
 +
    "UserSetMappings",
 +
    "UserUpdate"
 +
  ]
 +
}
 +
</source>
  
 
== SetDirectoryServicesConfiguration ==
 
== SetDirectoryServicesConfiguration ==
Line 896: Line 1,076:
 
| <tt>timeZoneId</tt>
 
| <tt>timeZoneId</tt>
 
| string  
 
| string  
| The time zone the date should be converted to, e.g. ''$Local'', which represents the time zone of the operating system.
+
| The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
 
|-
 
|-
 
| <tt>date</tt>
 
| <tt>date</tt>
Line 919: Line 1,099:
 
|}
 
|}
  
 +
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids.
 
=== Argument Values ===
 
=== Argument Values ===
  
Line 954: Line 1,135:
 
|-
 
|-
 
| <tt>1 to 31</tt>
 
| <tt>1 to 31</tt>
| Numeric represation of day of month.
+
| Numeric representation of day of month.
 
|-
 
|-
 
| <tt>Last</tt>
 
| <tt>Last</tt>
Line 998: Line 1,179:
 
| Every 12 hours.
 
| Every 12 hours.
 
|}
 
|}
 +
 +
== SetRetentionPolicies ==
 +
Set retention policies.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>config</tt>
 +
| json
 +
| Retention policy configuration.
 +
|}
 +
 +
To get example policies use the client to create retention policies manually. Then use the API command [[Administration_API_-_Function_Reference#GetRetentionPolicies|GetRetentionPolicies]] to retrieve the json values.
 +
 +
== SetSmtpSettings ==
 +
Set SMTP configuration.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>settings</tt>
 +
| json
 +
| SMTP configuration.
 +
|}
 +
 +
=== Argument Values ===
 +
 +
==== settings====
 +
Example settings object:
 +
<source lang="js" smart-tabs="true" toolbar="false" gutter="false">
 +
{
 +
  "hostname": "mail.example.com",
 +
  "port": 587,
 +
  "protocol": "SMTP-TLS",
 +
  "ignoreSslPolicyErrors": false,
 +
  "authenticationRequired": true,
 +
  "username": "sending.user@example.com",
 +
  "password": "userpassword",
 +
  "fromDisplayName": "Sending User",
 +
  "fromEmailAddress": "sending.user@example.com",
 +
  "recipientEmailAddress": "administrator@example.com"
 +
}
 +
</source>
  
 
== SetStoreProperties ==
 
== SetStoreProperties ==
Line 1,052: Line 1,282:
 
! Description
 
! Description
 
|-
 
|-
| <tt>FileSystemStandard</tt>
+
| <tt>FileSystemInternal</tt>
| Standard archive store.
 
|-
 
| <tt>FileSystemAdvanced</tt>
 
 
| Advanced file system-based archive store.
 
| Advanced file system-based archive store.
 
|-
 
|-
 
| <tt>SQLServer</tt>
 
| <tt>SQLServer</tt>
| Microsoft SQL Server-based arechive store.
+
| Microsoft SQL Server-based archive store.
 
|-
 
|-
 
| <tt>PostgreSQL</tt>
 
| <tt>PostgreSQL</tt>
Line 1,076: Line 1,303:
 
| <tt>id</tt>
 
| <tt>id</tt>
 
| number  
 
| number  
| Unique ID of archvie store.
+
| Unique ID of archive store.
 
|-
 
|-
 
| <tt>requestedState</tt>
 
| <tt>requestedState</tt>
Line 1,118: Line 1,345:
 
| <tt>authentication</tt>
 
| <tt>authentication</tt>
 
| string  
 
| string  
| Authentication method. Either 'inegrated' or 'directoryServices'.
+
| Authentication method. Either 'integrated' or 'directoryServices'.
 
|}
 
|}
  
Line 1,208: Line 1,435:
 
| <tt>pop3UserNames</tt>
 
| <tt>pop3UserNames</tt>
 
| string (optional)
 
| string (optional)
| Comma seperated list of POP3 user names.
+
| Comma separated list of POP3 user names.
 
|}
 
|}
  
Line 1,228: Line 1,455:
 
| Comma separated list of privileges.
 
| Comma separated list of privileges.
 
|}
 
|}
 +
 +
=== Argument Values ===
 +
 +
==== privileges ====
 +
{{Administration_API_User_Privileges}}
  
 
== SetUserPrivilegesOnFolder ==
 
== SetUserPrivilegesOnFolder ==
Line 1,249: Line 1,481:
 
| string  
 
| string  
 
| Comma separated list of folder privileges.
 
| Comma separated list of folder privileges.
 +
|}
 +
 +
=== Argument Values ===
 +
 +
==== privileges ====
 +
{| class="wikitable"
 +
! width=270px | Name
 +
! Description
 +
|-
 +
| <tt>none</tt>
 +
| The user is denied access to the specified folder. If specified, this value has to be the only value in the list. This effectively removes all privileges on the specified folder.
 +
|-
 +
| <tt>read</tt>
 +
| The user is granted read access to the specified folder.
 +
|-
 +
| <tt>write</tt>
 +
| The user is granted write access to the specified folder. Messages can be moved within an archive.
 +
|-
 +
| <tt>delete</tt>
 +
| The user is granted delete access to the specified folder.
 
|}
 
|}
  
Line 1,263: Line 1,515:
 
| bool (optional)
 
| bool (optional)
 
| Simulate sync only.
 
| Simulate sync only.
 +
|}
 +
 +
== TestSmtpSettings ==
 +
Test current SMTP configuration.
 +
 +
== UnlockStore ==
 +
Unlock a foreign archive store. In case an archive store from a foreign MailStore installation is attached, this method can be used to unlock that archive store.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>id</tt>
 +
| number
 +
| Unique ID of archive store to unlock.
 +
|-
 +
| <tt>passphrase</tt>
 +
| string
 +
| Product key or recovery key of the foreign MailStore installation.
 
|}
 
|}
  
Line 1,290: Line 1,563:
 
| <tt>id</tt>
 
| <tt>id</tt>
 
| number  
 
| number  
| The uniqe identifier of the archive store to be verified.
+
| The unique identifier of the archive store to be verified.
 +
|-
 +
| <tt>includeIndexes</tt>
 +
| bool
 +
| Defines whether to verify the search indexes as well.
 
|}
 
|}
  
 
== VerifyStores ==
 
== VerifyStores ==
 
Verify consistency of all archive stores.
 
Verify consistency of all archive stores.
 +
 +
=== Arguments ===
 +
{| class="wikitable"
 +
! width=150px | Name
 +
! width=120px | Type
 +
! Description
 +
|-
 +
| <tt>includeIndexes</tt>
 +
| bool
 +
| Defines whether to verify the search indexes as well.
 +
|}

Latest revision as of 12:03, 12 April 2019


AttachStore

Attach existing archive store.

Arguments

Name Type Description
name string Meaningful name of archive store.
type string Type of archive store.
databaseName string (optional) Name of database on Microsoft SQL Server or PostgreSQL server.
databasePath string (optional) Path to directory in which database folder information and email meta data are stored.
contentPath string (optional) Path to directory in which email headers and contents are stored.
indexPath string (optional) Path to directory in which full text search indexes are stored.
serverName string (optional) Name of Microsoft SQL Server or PostgreSQL server.
userName string (optional) User name for accessing Microsoft SQL Server or PostgreSQL server.
password string (optional) Password for accessing Microsoft SQL Server or PostgreSQL server.
requestedState string (optional) State of archive store after attaching.

Argument Values

type

Name Description
FileSystemInternal Advanced file system-based archive store.
SQLServer Microsoft SQL Server-based archive store.
PostgreSQL PostgreSQL server-based archive store.

requestedState

Name Description
current Same as Normal but new messages will be archived in the archive store that is set to Current.
normal The content of archives store is available to users and can be modified if the user has the appropriate permission.
writeProtected The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders)
disabled Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users.

CancelJobAsync

Cancel a running job asynchronously.

Arguments

Name Type Description
id number The unique identifier of the job to be canceled.

ClearUserPrivilegesOnFolders

Removes all privileges of a user on all archive folders.

Arguments

Name Type Description
userName string User name of MailStore user.

CompactMasterDatabase

Compact master database.

CompactStore

Compact archive store.

Arguments

Name Type Description
id number Unique ID of archive store

CreateBackup

Create a backup of the entire archive.

Arguments

Name Type Description
path string Path to directory into which the backup should be written.
excludeSearchIndexes bool (optional) Indicates whether the search index files should be excluded from the backup.

CreateJob

Create a new job to execute Management API commands.

Arguments

Name Type Description
name string (optional) A meaningful name for the job. Example: Daily Backup.
action string (optional) Management API command to execute.
owner string (optional) Username of the job owner; must be an administrator.
timeZoneId string (optional) The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
date string (optional) Datetime string (YYYY-MM-DDThh:mm:ss) for running the job once.
interval number (optional) Interval for running job.
time string (optional) Time for running job. Without additional parameter, this means daily execution.
dayOfWeek string (optional) Day of week to run job. Parameter "time" also required.
dayOfMonth string (optional) Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further.

Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.

Argument Values

dayOfWeek

Name Description
Sunday Sunday
Monday Monday
Tuesday Tuesday
Wednesday Wednesday
Thursday Thursday
Friday Friday
Saturday Saturday

dayOfMonth

Name Description
1 to 31 Numeric representation of day of month.
Last Last day of month.

interval

Name Description
5 Every 5 minutes.
10 Every 10 minutes.
15 Every 15 minutes.
20 Every 20 minutes.
30 Every 30 minutes.
60 Every hour.
120 Every 2 hours.
180 Every 3 hours.
240 Every 4 hours.
360 Every 6 hours.
720 Every 12 hours.

CreateProfile

Create a new archiving or exporting profile.

Arguments

Name Type Description
properties json Profile properties.
raw bool Currently only 'true' is supported.

Argument Values

properties

To receive available profile properties create a profile of the desired type via MailStore Client and then use the GetProfiles method to receive supported values. The properties id and version must be omitted, the password field must be filled properly.

CreateStore

Create and attach a new archive store.

Arguments

Name Type Description
name string Meaningful name of archive store.
type string (optional) Type of archive store.
databaseName string (optional) Name of database on Microsoft SQL Server or PostgreSQL server.
databasePath string (optional) Path to directory in which database folder information and email meta data are stored.
contentPath string (optional) Path to directory in which email headers and contents are stored.
indexPath string (optional) Path to directory in which full text search indexes are stored.
serverName string (optional) Name of Microsoft SQL Server or PostgreSQL server.
userName string (optional) User name for accessing Microsoft SQL Server or PostgreSQL server.
password string (optional) Password for accessing Microsoft SQL Server or PostgreSQL server.
requestedState string (optional) State of archive store after attaching.

Argument Values

type

Name Description
FileSystemInternal Standard archive store.
SQLServer Microsoft SQL Server-based archive store.
PostgreSQL PostgreSQL server-based archive store.

requestedState

Name Description
current Same as Normal but new messages will be archived in the archive store that is set to Current.
normal The content of archives store is available to users and can be modified if the user has the appropriate permission.
writeProtected The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders)
disabled Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users.

CreateUser

Create new MailStore user. Use SetUserPrivilegesOnFolder to grant that user privileges on the user's own archive.

Arguments

Name Type Description
userName string User name of new MailStore user.
privileges string Comma separated list of privileges.
fullName string (optional) Full name of user.
distinguishedName string (optional) LDAP DN string.
authentication string (optional) Authentication setting for user: 'integrated or 'directoryServices'.
password string (optional) Password of new user.

Argument Values

privileges

Name Description
none The user is granted no global privileges. If specified, this value has to be the only value in the list.
admin The user is granted administrator privileges. If specified, this value has to be the only value in the list.
login The user can log on to MailStore Server.
changePassword The user can change his own MailStore Server password. This only makes sense if the authentication is set to integrated.
archive The user can run archiving profiles.
modifyArchiveProfiles The user can create, modify and delete archiving profiles.
export The user can run export profiles.
modifyExportProfiles The user can create, modify and delete export profiles.
delete The user can delete messages. Please note that a non-admin user can only delete messages in folders where he has been granted delete access. In addition, compliance settings may be in effect, keeping administrators and users from deleting messages even if they have been granted the privilege to do so.

DeleteEmptyFolders

Remove folders from folder tree that do not contain emails.

Arguments

Name Type Description
folder string (optional) Entry point in folder tree.

DeleteJob

Deletes a job.

Arguments

Name Type Description
id string The unique identifier of the job to be deleted.

DeleteMessage

Delete a single message

Arguments

Name Type Description
id string Unique ID of message. Format: <store_id>:<message_num>
reason string The reason why that message has to be deleted which will be written into the audit log.

DeleteProfile

Delete an archiving or exporting profile.

Arguments

Name Type Description
id number Unique ID of profile.

DeleteUser

Delete a MailStore user. Neither the user's archive nor the user's archive emails are deleted when deleting a user.

Arguments

Name Type Description
userName string User name of MailStore user.

DetachStore

Detach an archive store.

Arguments

Name Type Description
id number Unique ID of archive store.

GetActiveSessions

Get list of current user sessions.

GetChildFolders

Get child folders. Depending on compliance settings this method may return only the first folder hierarchy level.

Arguments

Name Type Description
folder string (optional) Parent folder whose child folders should be returned. If omitted, all archives and folder will be returned.
maxLevels number (optional) Depth of child folders.

GetComplianceConfiguration

Get current compliance configuration settings.

GetDirectoryServicesConfiguration

Get current Directory Services configuration settings.

GetFolderStatistics

Get folder statistics.

GetJobResults

Retrieves list of finished job executions.

Arguments

Name Type Description
fromIncluding string Beginning of time range to fetch.
toExcluding string End of time range to fetch.
timeZoneId string The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
jobId number (optional) The job id for which to retrieve results.

Interactive Management Shell Example: GetJobResults --fromIncluding="2016-12-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --timeZoneId="$Local" --jobId=1

Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.

GetJobs

Retrieve list of jobs

GetMessages

Get list of messages from a folder.

Arguments

Name Type Description
folder string (optional) Folder whose content to list.

GetProfiles

Get list of archiving and exporting profiles.

Arguments

Name Type Description
raw bool Currently only 'true' is supported.

GetRetentionPolicies

Get the retention policies.

Example retention policies object:

[
  {
    "name": "Keep All Mails for 10 Years",
    "order": 1,
    "enabled": true,
    "searchCriteria": null,
    "period": 10,
    "periodInterval": "year",
    "delete": false
  }
]

GetServerInfo

Get MailStore Server version and machine name.

GetServiceConfiguration

Get MailStore Server service configuration. This includes the path to the Master Database, the location of the audit log, whether the different debug logs are enabled and the endpoint configuration.

GetSmtpSettings

Get current SMTP configuration.

GetStoreIndexes

Get list of full text indexes.

Arguments

Name Type Description
id number (optional) Unique ID of archive store.

GetStores

Get list of archive stores.

Arguments

Name Type Description
includeSize bool (optional) Includes size of archive store. Default: true. May be slow when running on slow hardware.

GetTimeZones

Get a list of available time zones.

The id of the output can be used as timeZoneId in CreateJob, GetJobResults, SetJobSchedule and SendStatusReport and as timeZoneID (with a capital ID) in GetJobResults.

GetUserInfo

Get detailed information about user.

Arguments

Name Type Description
userName string User name of MailStore user

GetUsers

Get list of users.

GetWorkerResults

Get results of profile executions.

Arguments

Name Type Description
fromIncluding string Beginning of time range to fetch.
toExcluding string End of time range to fetch.
timeZoneID string The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
profileID number (optional) Filter results by given profile ID.
userName string (optional) Filter results by given user name.

Interactive Management Shell Example: GetWorkerResults --fromIncluding="2016-01-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --timeZoneID="$Local" --profileID=1 --userName="admin"

Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.

Be aware that timeZoneID has to be written with a capital ID where all other commands with a timeZoneId are expecting Id.

MaintainFileSystemDatabases

Run database maintenance on all databases of file system based archive stores.

MergeStore

Merge two archive stores.

Arguments

Name Type Description
id number Unique ID of destination archive store.
sourceId number Unique ID of source archive store.

MoveFolder

Move folder.

Arguments

Name Type Description
fromFolder string Old folder name.
toFolder string New folder name.

ProcessRetentionPolicies

Processes the configured retention policies.

RebuildSelectedStoreIndexes

Rebuild all full-text indexes selected for rebuild.

RebuildStoreIndex

Rebuild search index for given archive folder.

Arguments

Name Type Description
id number Unique ID of archive store.
folder string Name of folder name.

RecoverStore

Recreates a broken Firebird database from recovery records. The archive store must have been upgraded to the latest version and the recovery records must not be corrupt. The archive store must be in the Disabled or Error state.

Arguments

Name Type Description
id number Unique ID of archive store.
recoverDeletedMessages bool (optional) Defines whether to recover deleted messages.

When the recoverDeletedMessages parameter is set to true, only deleted messages that still have leftovers in the recovery records can be recovered. When an archive store has been compacted with CompactStore or recovery record files have grown to their auto-compacting size of 8 MiB these leftovers could already be removed and deleted messages cannot be recovered.

RecreateRecoveryRecords

Recreates broken Recovery Records of an archive store. Use VerifyStore to verify the state of the Recovery Records. Cannot be used for external archive stores that store their content in the database.

Arguments

Name Type Description
id number Unique ID of archive store.

RefreshAllStoreStatistics

Refresh statistics of all archive stores.

RenameJob

Rename job.

Arguments

Name Type Description
id number (optional) The unique identifier of the job to be renamed.
name string (optional) The new job name.

RenameStore

Rename archive store

Arguments

Name Type Description
id number Unique ID of archive store.
name string New name of archive store.

RenameUser

Rename a MailStore user.

Arguments

Name Type Description
oldUserName string Old user name.
newUserName string New user name.

RenewMasterKey

Renews the master key which is used to encrypt the encryption keys.

RetryOpenStores

Retry opening stores that failed previously.

RunJobAsync

Run an existing job.

Arguments

Name Type Description
id number The identifier of the job to be run.

RunProfile

Run an existing archiving or exporting profile. Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under E-Mail Servers in the MailStore Client. Client side profiles can be started by using the MailStoreCmd and the commands import-execute and export-execute.

Arguments

Name Type Description
id number Unique profile ID.

RunTemporaryProfile

Run a temporary/non-existent profile. Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under E-Mail Servers in the MailStore Client.

Arguments

Name Type Description
properties json Profile properties.
raw bool Currently only 'true' is supported.

Argument Values

properties

To receive available profile properties create a profile of the desired type via MailStore Client and use the GetProfiles method to receive supported value.

SelectAllStoreIndexesForRebuild

Select all full-text indexes for rebuild.

SendStatusReport

Send a status report to the given recipients.

Arguments

Name Type Description
timespan string Timespan that is covered by the status report.
timeZoneId string The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
recipients string Comma separated list of recipients that will receive the status report.

Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.

Argument Values

Timespan

Name Description
today The day when the status report is sent.
yesterday The day before the status report is sent.
thisweek The week when the status report is sent.
lastweek The week before the status report is sent.
thismonth The month when the status report is sent.
lastmonth The month before the status report is sent.

SetComplianceConfiguration

Set compliance configuration settings.

Arguments

Name Type Description
config json Compliance configuration.

Argument Values

config

Use GetComplianceConfiguration to receive supported values.

Example settings object:

{
  "adminEmailPreviewEnabled": true,
  "legalHoldEnabled": false,
  "logSuccessfulUserActivities": [
    "AdminRestored",
    "ComplianceChangeSettings",
    "FileGroupAttach",
    "FileGroupCreate",
    "FileGroupDetach",
    "FileGroupRename",
    "FileGroupSetProperties",
    "FileGroupSetRequestedState",
    "ProfileChangeUserName",
    "UserAdd",
    "UserDelete",
    "UserRename",
    "UserSetFolderAccess",
    "UserSetMappings",
    "UserUpdate"
  ]
}

SetDirectoryServicesConfiguration

Set directory services configuration settings.

Arguments

Name Type Description
config json Directory services configuration.

Argument Values

config

Use GetDirectoryServicesConfiguration to receive supported value.

SetJobEnabled

Set enabled status of a job.

Arguments

Name Type Description
id number (optional) The unique identifier of the job to be modified.
enabled bool (optional) Boolean value of enabled attribute.

SetJobSchedule

Modify the schedule of a job.

Arguments

Name Type Description
id number The unique identifier of the job to be modified.
timeZoneId string The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system.
date string (optional) Datetime string (YYYY-MM-DDThh:mm:ss) for running the job once.
interval number (optional) Interval for running job.
time string (optional) Time for running job. Without additional parameter, this means daily execution.
dayOfWeek string (optional) Day of week to run job. Parameter "time" also required.
dayOfMonth string (optional) Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further.

Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.

Argument Values

dayOfWeek

Name Description
Sunday Sunday
Monday Monday
Tuesday Tuesday
Wednesday Wednesday
Thursday Thursday
Friday Friday
Saturday Saturday

dayOfMonth

Name Description
1 to 31 Numeric representation of day of month.
Last Last day of month.

interval

Name Description
5 Every 5 minutes.
10 Every 10 minutes.
15 Every 15 minutes.
20 Every 20 minutes.
30 Every 30 minutes.
60 Every hour.
120 Every 2 hours.
180 Every 3 hours.
260 Every 4 hours.
360 Every 6 hours.
720 Every 12 hours.

SetRetentionPolicies

Set retention policies.

Arguments

Name Type Description
config json Retention policy configuration.

To get example policies use the client to create retention policies manually. Then use the API command GetRetentionPolicies to retrieve the json values.

SetSmtpSettings

Set SMTP configuration.

Arguments

Name Type Description
settings json SMTP configuration.

Argument Values

settings

Example settings object:

{
  "hostname": "mail.example.com",
  "port": 587,
  "protocol": "SMTP-TLS",
  "ignoreSslPolicyErrors": false,
  "authenticationRequired": true,
  "username": "sending.user@example.com",
  "password": "userpassword",
  "fromDisplayName": "Sending User",
  "fromEmailAddress": "sending.user@example.com",
  "recipientEmailAddress": "administrator@example.com"
}

SetStoreProperties

Set properties of archive store.

Arguments

Name Type Description
id number Set properties of archive store.
type string (optional)
databaseName string (optional) Name of database on Microsoft SQL Server or PostgreSQL server.
databasePath string (optional) Path to directory in which database folder information and email meta data are stored.
contentPath string (optional) Path to directory in which email headers and contents are stored.
indexPath string (optional) Path to directory in which full text search indexes are stored.
serverName string (optional) Name of Microsoft SQL Server or PostgreSQL server.
userName string (optional) User name for accessing Microsoft SQL Server or PostgreSQL server.
password string (optional) Password for accessing Microsoft SQL Server or PostgreSQL server.

Argument Values

type

Name Description
FileSystemInternal Advanced file system-based archive store.
SQLServer Microsoft SQL Server-based archive store.
PostgreSQL PostgreSQL server-based archive store.

SetStoreRequestedState

Set state of archive store.

Arguments

Name Type Description
id number Unique ID of archive store.
requestedState string (optional) State of archive store after attaching.

Argument Values

requestedState

Name Description
current Same as Normal but new messages will be archived in the archive store that is set to Current.
normal The content of archives store is available to users and can be modified if the user has the appropriate permission.
writeProtected The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders)
disabled Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users.

SetUserAuthentication

Set authentication settings of a MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
authentication string Authentication method. Either 'integrated' or 'directoryServices'.

SetUserDistinguishedName

Set the LDAP distinguished name of a MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
distinguishedName string (optional) LDAP DN string.

SetUserEmailAddresses

Set email addresses of MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
emailAddresses string (optional) List of email addresses.

SetUserFullName

Set full name of MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
fullName string (optional) Full name of MailStore user.

SetUserPassword

Set password of MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
password string Password of MailStore user.

SetUserPop3UserNames

Set POP3 user name of MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
pop3UserNames string (optional) Comma separated list of POP3 user names.

SetUserPrivileges

Set privileges of MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
privileges string Comma separated list of privileges.

Argument Values

privileges

Name Description
none The user is granted no global privileges. If specified, this value has to be the only value in the list.
admin The user is granted administrator privileges. If specified, this value has to be the only value in the list.
login The user can log on to MailStore Server.
changePassword The user can change his own MailStore Server password. This only makes sense if the authentication is set to integrated.
archive The user can run archiving profiles.
modifyArchiveProfiles The user can create, modify and delete archiving profiles.
export The user can run export profiles.
modifyExportProfiles The user can create, modify and delete export profiles.
delete The user can delete messages. Please note that a non-admin user can only delete messages in folders where he has been granted delete access. In addition, compliance settings may be in effect, keeping administrators and users from deleting messages even if they have been granted the privilege to do so.

SetUserPrivilegesOnFolder

Set privileges on folder for MailStore user.

Arguments

Name Type Description
userName string User name of MailStore user.
folder string Folder name.
privileges string Comma separated list of folder privileges.

Argument Values

privileges

Name Description
none The user is denied access to the specified folder. If specified, this value has to be the only value in the list. This effectively removes all privileges on the specified folder.
read The user is granted read access to the specified folder.
write The user is granted write access to the specified folder. Messages can be moved within an archive.
delete The user is granted delete access to the specified folder.

SyncUsersWithDirectoryServices

Sync users of MailStore instance with directory services.

Arguments

Name Type Description
dryRun bool (optional) Simulate sync only.

TestSmtpSettings

Test current SMTP configuration.

UnlockStore

Unlock a foreign archive store. In case an archive store from a foreign MailStore installation is attached, this method can be used to unlock that archive store.

Arguments

Name Type Description
id number Unique ID of archive store to unlock.
passphrase string Product key or recovery key of the foreign MailStore installation.

UpgradeStore

Upgrade archive store from MailStore Server 5 or older to current format.

Arguments

Name Type Description
id number Unique ID of archive store.

VerifyStore

Verify archive stores consistency.

Arguments

Name Type Description
id number The unique identifier of the archive store to be verified.
includeIndexes bool Defines whether to verify the search indexes as well.

VerifyStores

Verify consistency of all archive stores.

Arguments

Name Type Description
includeIndexes bool Defines whether to verify the search indexes as well.
Navigation
Tools
Print/export
About MailStore

  • MailStore Server is one of the leading email archiving solutions for SMB.
  • For private use there is a free tool for email archiving furthermore: MailStore Home.