Oracle® Communications Messaging Server

Release Notes

Release 8.0.2


October 2017

This document provides release notes for Oracle Communications Messaging Server Release 8.0.2, consisting of the following sections:

New and Changed Features (Cassandra Message Store)

The new features and feature enhancements in this release of Messaging Server to support Cassandra messages store are:

New Message Store

Messaging Server 8.0.2 provides a redesigned message store that is based on DataStax Cassandra Database. You have the option to install and configure either a Cassandra message store or classic message store.

The Cassandra message store:

  • Has no single point of failure

  • Provides continuous read/write availability

  • Scales linearly as more hardware is added

  • Supports multiple data centers to ensure constant uptime

  • Runs on commodity Linux hardware

  • Provides indexed search for a large variety of attachment types

For Messaging Server 8.0.2, you must install the DataStax Enterprise (DSE) Max version of Apache Cassandra. Solr, an open source enterprise search platform from the Apache Lucene project, is integrated with DSE.

For more information on Apache Cassandra, see the white paper titled "A Brief Introduction to Apache Cassandra" at:


You cannot install both classic message store and Cassandra message store in the same Messaging Server deployment.

Differences Between Cassandra Message Store and Classic Message Store

Deploying Cassandra message store changes the current Messaging Server (7.x, 8.0, and 8.0.1) deployment on classic message store in the following ways:

  • Operating System: The Cassandra message store can only be installed on the Linux platform.

  • Java: The Cassandra message store requires that you install Java 8.

  • Message Store Configuration: You must use Messaging Server's Unified Configuration (msconfig) to configure the Cassandra message store (as well as the message access and front-end tiers). The Cassandra message store does not support the use of legacy configuration.

  • Message Delivery to the Message Store: You must configure front-end Message Transfer Agent (MTA) hosts and message access hosts to use Local Mail Transfer Protocol (LMTP) to deliver messages into the Cassandra message store.

  • Notification Service: Cassandra message store supports only Event Notification Service (ENS) for generating event notifications. (Java Message Queue (JMQ) is deprecated.)

  • Messaging Server Front-End Systems: Messaging Transfer Agent (MTA) hosts, Messaging Multiplexor (MMP) hosts, LMTP clients, and Webmail Server (mshttpd) hosts must be upgraded to at least Messaging Server 8.0.1 to work with Cassandra message store.

  • Messaging Server Front-End and Message Access Systems: The Cassandra message store changes the semantics of the mailHost attribute in LDAP. Instead of referring to a physical host, in Messaging Server 8.0.2 "mail host" refers to a store affinity group. You configure the store affinity group with the proxy:mailhost.storehostlist msconfig option. You must configure store affinity groups on front-end systems (MTA/MMP/Webmail Server) and message access systems (IMAP/LMTP) for robust Cassandra message store delivery. Store affinity groups enable the system to route to an alternate LMTP server in the list if the first one listed is unavailable. Affinity groups are used to distribute ENS delivery events so that IMAP IDLE works without the need to broadcast all delivery events to all IMAP servers.

  • Storage hardware: Use of Solid-state Drives (SSDs) is recommended for use with Cassandra, for performance reasons.

  • Store Partition: There is no concept of a partition when using Cassandra message store as there is when using classic message store. Messages are simply stored in the Cassandra database.

Other Differences Between Cassandra Message Store and Classic Message Store

Messaging Server 8.0.2 and Cassandra database, and previous Messaging Server versions (7.x, 8.0, and 8.0.1) and classic message store, also differ in the following ways:

  • The Cassandra message store uses a single maintenance queue. Classic message store uses three maintenance queues.

  • The imcheck -d and imcheck -s commands are supported only by classic message store.

  • Other imcheck command differences with classic message store:

    • imcheck -m output: The Cassandra message store does not have start offset, cache ID, and cache offset.

    • imcheck -q: The RecNo is not unique in Cassandra message store.

  • When you rename a mailbox on Cassandra message store, the subscription list is updated automatically. IMAP has SUBSCRIBE and UNSUBSCRIBE commands, which are typically used for shared folders. There is no requirement in the IMAP specification for the subscription to recognize the new name when a shared folder is renamed. Classic message store subscriptions do not follow renames, whereas Cassandra message store does.

  • Cassandra message store folder purge is always deferred. This is optional in classic message store. Also, Cassandra message store mailbox purge and cleanup tasks are combined into one task.

  • Cassandra message store does not advertise the IMAP ACL extension (RFC 4314). Although the ACL commands are implemented, the semantics of ACLs with respect to shared folders are not fully implemented. As a result, it is inappropriate to advertise the IMAP ACL extension in this version of Cassandra message store.

  • Cassandra message store does not support the IMAP ANNOTATE capability. (The ANNOTATE extension to IMAP permits clients and servers to maintain "meta data" for messages, or individual message parts, stored in a mailbox on the server.)

  • In Cassandra message store, deleting a user does not remove access rights from the ACL of the other user's folder. When a user is deleted and recreated, shared folders are still accessible.

  • User ID (puid) and folder ID (fid) are permanently unique in Cassandra message store.

  • Cassandra message store does not use a message store partition. Thus, you no longer are able to perform maintenance tasks such as expire, backup, and reconstruct by store partition.

  • The imexpire command cannot install expire rules by partition.

  • Cassandra message store supports only mailbox reconstruct.

  • Cassandra message store supports only Unified Configuration.

  • IMAP subscribe: Cassandra message store does not permit users to subscribe to non-existing folders.

  • Specific differences that apply to Messaging Server 8.0 and 8.0.1:

    • The reconstruct -x command has been obsoleted (it is now always enabled).

    • imcheck -e output: The File type column has been removed.

    • imcheck -q output: RecNo has a queue prefix.

  • Classic message store allows use of invalid identifiers in IMAP ACLs; they are simply ignored when evaluating the ACL. Cassandra message store does not allow use of invalid identifiers in an ACL; an attempt to use an invalid identifier results in no change to the ACL.

  • Cassandra message store supports both an external identifier and a persistent identifier for each user. Changing the persistent identifier of an existing user is not recommended. The external identifier for a user can be changed freely and is used for ACLs and shared folders instead of the persistent identifier. See the topic on user identifiers in Messaging Server Reference, as well as the ldap_permid and ldap_extid options, for more information.

  • A SETACL command for cross-domains is not allowed. Thus, for a Cassandra message store, the value for the store.privatesharedfolders.restrictdomain configuration option is always 1 (to disallow regular users from sharing private folders to users in another domain.) In addition, neither the default domain nor the canonical domain name can ever be changed.

New Integrated Indexing and Search

The Cassandra message store provides a new integrated-in-the-store index and search capability, based on Solr, an open source enterprise search platform from the Apache Lucene project. Because Solr stores email content in a reverse index, searches are efficient and fast compared to the linear search in Berkeley Database. Solr is integrated in DataStax Enterprise Max. With the Cassandra message store, you do not need to install Oracle Communications Indexing and Search Service (nor is Indexing and Search Service compatible with Cassandra message store) to be able to search email content and attachments.

Differences Between Solr and Indexing and Search Service

Table 1 describes the differences between Solr-based indexing and search and Oracle Communications Indexing and Search Service.

Table 1 Comparison of Solr and Indexing and Search Service

Solr (Messaging Server 8.0.2) Indexing and Search Service (Messaging Server 7.x, 8.0, 8.0.1)

Uses DataStax Enterprise (DSE) Max Cassandra database and integrated Solr indexing and search.

Uses Berkeley Database (BDB) and separately installed and configured Indexing and Search Service.

Uses persistent-unique user and folder IDs (separate from display ID).

Folder IDs are maintained in a file-system based directory structure.

Uses ENS as the notification service. (Support for JMQ is deprecated.)

Indexing and Search Service deployment depends upon using multiple JMQ brokers.

Uses a single attachment converter, Apache Tika, which is included in the Messaging Server package. Tika supports what is currently supported in Indexing and Search Service. Tika is capable of supporting more attachment types in future releases.

Uses multiple attachment converters, one for each document type.

Uses replicated copies of the index.

Uses one copy of the index.

All searches are Lucene indexed.

Only some searches are Lucene indexed.

Because the index is replicated, when you add capacity, a rebalancing occurs without the need for a service outage.

Increasing capacity requires that you move users and take a service outage.

A consistency repair of data is performed at the Cassandra/Solr and application/CQL layers.

A consistency repair of data is performed by a slow IMAP scan.

Enables searching by custom header fields (Solr creates dynamic header fields for each email as it arrives).

Uses pre-defined, standard header fields. Indexing and Search Service search fails on customer header fields and falls back to IMAP-only linear search.

Creates dynamic flag fields at runtime.

Users pre-defined, standard flag fields. Indexing and Search service fails on custom field searches and falls back to IMAP-only linear search.

Differences in Index and Search Features

The following index and search features (available in Indexing and Search Service) are currently not supported in Messaging Server 8.0.2 and Cassandra/Solr:

  • All searches in Datastax/Solr occur through IMAP, with no failback search.

  • Solr does not have a RESTful search interface. (IMAP/CQL is the search interface.)

  • Oracle Convergence attachment-based search results and thumbnail view are not currently available.

Other differences between Solr and Indexing and Search Service include the following:

  • Only RETURN (ALL) is supported in the IMAP SEARCH command when Messaging Server 8.0.1 and prior releases is configured to send searches to Indexing and Search Service. However, all the return parameters are supported in Messaging Server 8.0.2.

  • In Messaging Server 8.0.2, if the ESEARCH command contains a Message sequence number term and a non-selected mailbox to search, then the following message appears: "Unsupported Search Term"

  • The following features are not currently supported in Messaging Server 8.0.2 when configured to use Cassandra message store:

    • Annotation search

    • Shared folders search

Differences Between Cassandra Message Store and Classic Message Store Searching

This section describes the differences in IMAP searches between Cassandra message store and classic message store.

Wild Card Searching

Wild card searching refers to using a single character, such as an asterisk (*), to represent a number of characters or an empty string in an email search. Wild card searching differentiates between the following types:

  • Prefix wildcard search: The wild card is used at the end of string, for example: appl*

  • Suffix wildcard search: The wild card is used at the beginning of the string, for example: *pple

  • Substring search: The wild card is used at the beginning and end of the string: *ppl*

When a search is issued in classic message store, it linearly searches through email content to match the exact sequence of characters provided in the search command. This implicitly includes prefix and suffix search.

For example, consider an email body that contains the following text:

Hello World! This is a test.

All the following searches in classic message store return this email:

search body world
search body wor
search body llo
search body "lo Wor"
search body !

Because search is Solr-based in Cassandra message store, the default search does not include prefix, suffix, and substring search. You must set the following configuration options to be able to conduct prefix and suffix search on Cassandra message store:

  • To enable prefix search:

    msconfig set imap.indexer.prefix_search "subject body from to cc text bcc"
  • To enable suffix search:

    msconfig set imap.indexer.suffix_search "subject body from to cc text bcc"
  • To enable substring search:

    msconfig set imap.indexer.substring_search "subject body from to cc text bcc"

However, in Cassandra message store, wild carding is allowed only for single-word search terms. Solr does not support wild carding within phrases. Thus, even with wild carding enabled, the following search using the previous email sample does not return the email in Cassandra message store:

search body "lo Wor"

Also, the following search returns all email messages in that folder because punctuation marks are discarded by both indexing and search:

search body !

The following searches in Cassandra message store do return the sample email when prefix and suffix searches are enabled:

search body world
search body wor
search body llo

For email address wildcard search, Cassandra message store treats the address as two words in sequence (user name and domain name). The term in the search should not mix user name and domain together when wild carding is enabled.

Special Characters and Searching

The Solr standard tokenizer splits text fields into tokens, treating whitespace and special characters (like punctuation) as delimiters. Delimiter characters are discarded, with the following exceptions:

  • Periods (dots) that are not followed by whitespace are kept as part of the token, including Internet domain names.

  • The "@" character is among the set of token-splitting punctuation, so email addresses are not preserved as single tokens.

This means that if an email field contains words with special characters, such as "@," Solr splits that word around the special character and indexes it as two words.

For email address wildcard search, Cassandra message store treats the email address as two words in sequence (user name and domain name). The term in the search should not mix user name and domain together when wild carding is enabled. That is, searching on is not a valid search in Solr.

The following example wildcard email address searches are all valid in Cassandra message store:

  • Prefix search: FROM

    SEARCH FROM user
    SEARCH FROM exampl
    SEARCH FROM example.c
  • Suffix search: TO

    SEARCH TO st1
    5 SEARCH TO om
  • Substring search: CC:

    SEARCH CC ser71
    SEARCH CC exampl
    SEARCH CC s.exampl

The following example wildcard email address searches are invalid in Cassandra message store:

  • FROM

    SEARCH FROM ean-ma
    SEARCH FROM marie@or

Updated Message Store Management Tools

The following message store command-line utilities have been updated for Messaging Server 8.0.2, to account for differences in using the Cassandra database as the message store:

  • configutil

  • deliver

  • imarchive

  • imcheck

  • imexpire

  • imsexport

  • impurge

  • mboxutil

  • rehostuser

  • reconstruct: The following reconstruct options work only with classic message store:

    • reconstruct -p partition

    • reconstruct -m

    • reconstruct -q

    • reconstruct -s

    • reconstruct -l

    • reconstruct -A

    • reconstruct -c

    • reconstruct -a

Changes to configure Script to Support New Message Store

The configure script has been enhanced in Messaging Server 8.0.2 to support the configuration of new components that are part of the Cassandra message store and indexing service:

  • --noisc option: Automatically configures the LMTP channel correctly on the MTA tier nodes, and also installs the front-end services without requiring that Java be present.

New Unified Configuration Options to Support New Message Store

Unified Configuration options have been added for Messaging Server 8.0.2 to support Cassandra message store. For more information, see the message store options, ISC options, and FIT options in Messaging Server Reference.

Support for Controlling When the Indexed Search Converter Is Invoked

In Cassandra message store, the Indexed Search Converter (ISC) processes the entire body of an email message and generates plain text content for each of the message parts. Support for controlling when the Indexed Search Converter (ISC) is invoked has been added to the MTA. The ISC can be invoked either immediately as part of message delivery or deferred until after delivery. This support consists of three new channel options and a new system-level Sieve action.

The channel options are:

  • iscunknown: The channel does not specify when the ISC should run. This is the default.

  • iscdeferred: ISC operations are deferred until after delivery.

  • iscimmediate maxretry maxtimeout: ISC operations are performed immediately unless the specified number of delivery retries have been attempted, or the specified queue timeout in minutes has been exceeded. A maxretry value of 0 indicates that there is no retry limit. Similarly, a maxtimeout of 0 indicates that there is no queue timeout.

All of these options can be specified on either source or destination channels. If multiple options are specified, then the first specification other than iscunknown is used. For example, if the source channel is marked iscimmediate 0 0 and the destination channel is marked iscdeferred, then the former setting is used.

The Sieve action takes the following form:

indexed_search_convert [:retries maxretries] [:timeout maxtimeout] operation


  • operation is either immediate or deferred.

  • maxretries and maxtimeout have the same semantics as the imsimmediate channel options.

The Sieve action, if specified, always overrides any channel options in effect. If indexed_search_convert appears in multiple sieves the most specific Sieve is used.


The immediate or deferred value in effect is passed from the LMTP client to server through the use of an XISC parameter on the MAIL FROM command. The associated extension is also named XISC.

New and Changed Features (Other)

The other new features and feature enhancements in this release of Messaging Server are:

Secure-by-Default HTML Processing

Due to the removal of the blacklist filter facility from Messaging Server 8.0.2, when an mshttpd client requests HTML processing, that request is rejected by default. In place of the blacklist filter, you now must use a whitelist filter, which is provided by Convergence.

To enable HTML processing for mshttpd client requests:

  1. Install Convergence or later.

  2. Enable the Convergence mail.htmlsanitizer.enable option.

    For example:

    iwcadmin -o mail.htmlsanitizer.enable -v true
  3. Enable the Messaging Server http.convergencefilterenabled option, to allow HTML processing.

    For example:

    msconfig set http.convergencefilterenabled 1

In addition, once you have enabled HTML processing, the mshttpd service generates a warning in its log file when a request is made to process an unknown type. You can suppress these warnings with the http.suppresstypewarning option.

deliver Utility -E Encoding Option

The deliver utility now contains the -E encoding option, where encoding specifies the character set encoding used for the folder name (IMAP-mailbox-name).

Preliminary Email Address Internationalization (EAI) Support Has Been Implemented in the MTA

Starting with Messaging Server 8.0.2, email messages with internationalized email addresses or header information are supported.

The following support for the Email Address Internationalization (EAI) has been added:

  • The sevenbit, eight_always, eight_negotiate, and eight_strict channel option group has been extended to include the following additional options:

    • utf8header: As an SMTP source channel keyword, offer the SMTPUTF8 SMTP extension. As a destination channel keyword, allow enqueue and dequeue of EAI messages unconditionally; in particular, the SMTPUTF8 extension will not be required. Note that delivery of EAI messages via SMTP/LMTP to a non-EAI system is a standards violation.

    • utf8negotiate: As an SMTP source channel keyword, offer the SMTPUTF8 SMTP extension. As a destination channel keyword, allow enqueue unconditionally. On dequeue, require the SMTPUTF8 be offered by SMTP/LMTP servers for EAI messages.

    • utf8strict: Same as utf8negotiate SMTP and LMTP are concerned. But additionally, reject messages that contain 8bit headers without having negotiated SMTPUTF8 and 8bit bodies without having negotiated 8BITMIME. Note that the channel default remains eightnegotiate; EAI support must be explicitly enabled. Also note that the store does not support EAI at the present time.

  • A -utf8 option has been added to the following commands:

    imsimta test -rewrite
    imsimta calc -mm -message=message
    imsimta test -expression -mm -message=message

    In every case, the qualifiers enable EAI support for test purposes.

  • Use the following command to test encoding of Internationalized Domain Names (IDNs):

    imsimta encode -idn domain

    The encoded result is printed.

  • Use the following command to test decoding of Internationalized Domain Names (IDNs):

    imsimta decode -idn domain

    The decoded result is printed.

  • The encode and decode Sieve/Recipe functions have been extended to encode and decode IDNs. This is accomplished by specifying the :idn tagged argument instead of, say, :base64.

  • An addressequal function has been added to Sieve and the Recipe language. The syntax of this function is:

    addressequal [:localpart / :user] [:domain] [:route] [:ignore] [:idn] address1:string address2:string

    By default, all components of the address are compared, with IDNs canonicalized in the domain and route and case-sensitive local parts. If any of the component arguments :localpart, :user, :domain, and :route are specified, only the specified components are compared. IDN canonicalization is only performed if :idn is specified. The :ignore argument makes local part case-insensitive.

  • The constant PMDF_UTF8 can now be specified in the item list of the PMDF_send routine to send an EAI message.

  • The -utf8 qualifier can be specified in the imsimta send command to send an EAI message.

  • An idn_config_file option has been added that can be used to specify the location of an optional idnkit configuration file. See the idnkit documentation for more information about the format of this file. Note that this file should not be necessary in normal usage.

  • The MTA's domain rewrite facility has been extended so that domains containing UTF-8 strings or domains containing IDN encoded segments (that begin with "xn--") results in two probes being done: first converted entirely to utf-8; then converted entirely to encoded form.

LMTP Client and Server Have Been Enhanced to Support a New UID Extension

This extension, if present, provides a single UID parameter on the MAIL FROM command that accepts the values "NO" or "RET". If the latter is specified, the final LMTP responses to DATA/BDAT include the UID, UIDVALIDITY, digest value (if available), and optionally the folder if different from INBOX, separated by colons and enclosed in angle brackets. For example:

S: 220 -- Server LMTP (Oracle Communications Messaging Server 64bit (built Apr 19 2017))
      C: LHLO
      S: 250-8BITMIME
      S: 250-UID
      S: 250-PIPELINING
      S: 250-CHUNKING
      S: 250-XDFLG
      S: 250-XQUOTA
      S: 250-XAFLG
      S: 250-XSPARE
      S: 250-HELP
      S: 250 SIZE 0
      S: 250 2.5.0 Address Ok.
      C: RCPT TO:<test1+folder@ims-ms-daemon> XDFLGS=5
      S: 250 2.1.5 test1@ims-ms-daemon OK.
      C: RCPT TO:<test2@ims-ms-daemon>
      S: 250 2.1.5 test2@ims-ms-daemon OK.
      C: DATA
      S: 354 Enter mail, end with a single ".".
      C: Subject: Test message
      C: This is a test.
      C: .
      S: 250 2.5.0 <1445028362:2::folder> Delivery to user OK
      S: 250 2.5.0 <1440097745:2:> Delivery to user OK

This extension is enabled by default and cannot be disabled. The LMTP client uses if it present to obtain UID information to use in conjunction with the LOG_MAILBOX_UID MTA option as well as the recall facility.

Additionally, the LOG_MAILBOX_UID MTA option now enables logging of UID information in the S records logged by the LMTP server. Note that this logging does not depend on use of the LMTP extension.

Support for the useintermediate Channel Keyword

Support for the useintermediate channel keyword has been added to the following places in the SMTP code that generate nondelivery reports:

  • LMTP 5yz final status reports

  • SMTP 5yz final status reports

  • SMTP/LMTP 5yz RCPT TO responses

This change does not produce any visible changes in normal SMTP DSN generation. In the case of LMTP, however, it prevents the exposure of internal mail addresses.

Heuristic Address Parser Has Been Updated to Try Removing Surrounding Quotes as Part of Processing Invalid Addresses

Although this does not improve the ability to recognize invalid addresses, the resulting corrected addresses are simpler and more palatable for use with some milters.

Ability to Disable a Spam Filter Has Been Added to FROM_ACCESS Mapping

The ability to disable a spam filter has been added to the FROM_ACCESS mapping. A metacharacter sequence of the form $+^N, where N is between 1 and 8, acts as if disablesourcespamfilterN had been specified on the source channel.

A ${mapping-name,mapping-probe} Sequence Is Used in Rewrite Rules to Call Out to the Specified Mapping with the Specified Probe String

A bit-encoded argument can now be specified in such callouts, that is, $+n|mapping-name;mapping-probe|, to cause additional |-delimited prefix strings to be included in the "inner" mapping probe. Table 2 lists the currently defined bits in n:

Table 2 Mapping Probe Bit, Value, and Prefix

Bit Value Prefix



Transport information



Application information



Source channel (blank if not set)



Destination channel (blank if not set)



Authenticated sender address

If multiple bits are set, the corresponding prefixes are added in numerical order with the least significant bit on the left.

A $|mapping-name;mapping-probe| Sequence Can be Used in a Mapping to Call Another Mapping

A bit-encoded argument can now be specified in such callouts, that is, $+n|mapping-name;mapping-probe|, to cause additional |-delimited prefix strings to be included in the "inner" mapping probe. Table 3 lists the currently defined bits:

Table 3 Mapping Probe Bit, Value, and Prefix

Bit Value Prefix



Transport information



Application information



Source channel (blank if not set)



Destination channel (blank if not set)



Authenticated sender address

If multiple bits are set the corresponding prefixes are added in numerical order with the least significant bit on the left.

route_to_routing_host MTA Option Accepts an Additional Value of -1

The route_to_routing_host MTA option now accepts an additional value of -1. This value behaves like the value 0 (still the default), except in addition to disabling routing of addresses with nonlocal mailhosts to the mail routing host, acceptance of addresses without a user entry and routing them to the mailRoutingSmartHost for the domain is also disabled. The smart host for the domain continues to be used for addresses that match user entries that fail to specify a mailhost.

Support for Additional Value of 3 for the log_header Option and logheader Channel Keyword

An additional value of 3 for the log_header option and logheader channel keyword is now supported. This value, if set, causes header logging to occur during dequeue operations but not enqueues.

-oldest, -newest, and -remark Options Have Been Added to the msconfig REVERT Command

You can now use the -oldest and -newest options to the msconfig REVERT command to restore the oldest or newest saved configuration, respectively. The -remark option takes glob-style pattern arguments and causes the newest configuration with an attached remark that matches the specified pattern to be restored.

The resolve_option Function Has Been Added to the Recipe Language

This function accepts a single string argument, which then undergoes the option resolution process. The result of that process is then returned as a bit-encoded integer.

Table 4 lists the currently defined bits:

Table 4 Returned Bit, Value, and Meaning of resolve_option Resolution Process

Bit Value Prefix



Set if name resolved, clear if name invalid.



Set if the string specified a valid option name, clear otherwise. Note that an option string can specify the name of a group, in which case this bit will be clear but bit 0 will be set.



Set if option has been deleted and no longer has any effect.



Set if option is restricted.



Set if option is targeted for use in instances only.

$+# Metacharacter Sequence in *_ACCESS Mappings

The $+# metacharacter sequence in any of the FROM_ACCESS, SEND_ACCESS, ORIG_SEND_ACCESS, MAIL_ACCESS, and ORIG_MAIL_ACCESS mappings now processes a single argument immediately after any channel switch value (FROM_ACCESS) or debug value (other mappings) and adds it to the current transaction log string. This provides a convenient way to log information from *_ACCESS mappings.

unstresscount job controller Option Has Been implemented

The unstresscount job controller option adds an additional criteria for lowering the stress level for a channel. The level is also lowered when unstresscount messages have been processed by the channel and stresstime time has elapsed without any indication of stress. unstresscount defaults to 10000.

The MTA's MIME parser and Associate Routines Have Been Enhanced

The MTA's MIME parser and associate routines have been enhanced to support the message/global media type. This includes, but is not limited to, handling message/global as a structured object and removing or adding content transfer encodings to it as appropriate. Messsage/global was defined as part of the email address internationalization (EAI) work done by the IETF but message/global objects can appear outside of SMTPUT8 (EAI) messages.

The Suffix Addition Facility in the MTA's Mailing List Processor Has Been Enhanced

The suffix addition facility in the MTA's mailing list processor has been enhanced so that it will add suffixes to HTML even if the HTML does not contain a </body> or </html> end tag.

log_8bit_encode MTA Option

The log_8bit_encode MTA option controls how non-ASCII material is written to XML format MTA transaction log files. A value of 0 causes such material to be written as-is. Any nonzero value will cause all valid UTF-8 characters to be written as XML numeric character references.

How non-ASCII octets that do not begin a valid UTF-8 sequence is controlled by specific values of the log_8bit_encode MTA option. Currently defined nonzero values are:

  • (1) Write the octet as a XML numeric character reference. Note that this is tantamount to interpreting the octet as a character in the ISO-8859-1 charset.

  • (2) Write the octet as an XML entity reference of the form &raw-xx; where xx is the lower-case hexadecimal representation of the octet.

  • (3) Write out a space in place of the octet.

Note that this setting only applies to XML format logs (log_format = 4); non-ASCII characters are always written as-is when other formats are used.

Debug Output for Spamfilter Plugins Changed

The debug output for spamfilter plugins produced by the message enqueue routines (controlled by the mm_debug MTA option) used a mixture of 0-based and 1-based filter slot numbers. All of the output has been switched to use 1-based indexes, which matches the 1-based spamfilterN MTA options.

-readonly Switch Added to msconfig

A -readonly switch has been added to the msconfig command, which, as its name implies, opens the configuration in read-only mode. Read-only mode does not lock the configuration and thus can be used to examine the configuration even when the configuration is being edited elsewhere.

authfaildelay Option (IMAP and POP)

The authfaildelay option (available under IMAP and POP) determines how long the server delays before reporting an authentication failure. This option is present only for the back-end POP3 and IMAP servers. The MMP uses a more sophisticated badguyslist facility (see the bgpenalty option).

MILTER_ACTIONS Mapping Has Been Added

A MILTER_ACTIONS mapping has been added that provides a number of facilities to augment or modify the behavior of various milter actions.

The basic probe format for this mapping is:



  • tag is a tag value that is passed between successive calls to the MILTER_ACTIONS mapping. The tag value is initially empty.

  • # is the number of the spam filter slot of the milter issuing the action.

  • action is the milter action that invoked the mapping.

The basic probe format is then followed by zero or more arguments depending on the action.

Table 5 describes the current milter actions that call the MILTER_ACTIONS mapping:

Table 5 Milter Actions That Call the MILTER_ACTIONS Mapping

Command Additional Arguments










Milter-supplied error message

The mapping result consists of metacharacters and a series of result strings separated by vertical bars. These are consumed by the various metacharacters in the order shown in Table 6.

Table 6 How Mapping Results Are Consumed

Metacharacters Description


Forces the action to ACCEPT.


Sets the milter tag to the specified string.


Disables processing of subsequent spam filters. The specified string consists of a comma-separated list of spam filter index numbers. The specified filters with index values greater than the current filter are shut down and any results they have produced are discarded.


Overrides the error message with the specified string. This only applies to the REJECT, TEMPFAIL, and REPLYCODE actions.

Enhanced log_filter Output

The log_filter output for the Sieve spamtest, virustest, and importanttest actions now includes a truncated part of the associated text field. Previously only the value was included.

Enhanced dispatcher_stats_tty Output

The dispatcher_stats_tty output now includes the source port for all listed connections.

Documentation Updates

The documentation set for Messaging Server 8.0.2 includes the following new guides:

  • Installation and Configuration Guide for Cassandra Message Store: Provides instructions for installing and configuring the Cassandra message store.

  • MTA Developer's Reference: Describes the Messaging Server MTA SDK.

Deprecated and Removed Features

Support for the following features may be eliminated in a later release, may be already removed in this release, or removed in a previous release:

Legacy Initial Configuration Is Deprecated

The configure tool can presently generate a legacy initial configuration. This facility may be removed in a later release to encourage use of Unified Configuration for new deployments.

Also, you must manage a Cassandra message store deployment by using Unified Configuration.

LMTP Default Configuration

Starting with this release of Messaging Server, Local Mail Transport Protocol (LMTP) is the default initial configuration to deliver messages into the message store.

Support for ims_master

ims_master remains the default for initial legacy configuration. However, the recommended deployment is to run the LMTP server on the message access tier and the LMTP client on the MTA front-end tier.

Store Transaction Logging

Previous releases mixed store action/transaction logging information with error/debug log information in an unstable format. In Messaging Server 8.0.1, a stable, extensible XML format for store action/transaction logging was introduced by the transactlog log file to store audit and trace information about the message store. In Messaging Server 8.0.2, this facility is now enabled by default. See the documentation about the messagetrace.activate option for details.

Support for SMTP Submission Proxy (in the MMP) Is Deprecated

The SMTP submission proxy in the MMP is deprecated and may be removed in a later release.

Oracle GlassFish Message Queue Is Deprecated

The Oracle Glassfish MQ C SDK (also known as OpenMQ and JMQ) and JMQ JMS provider are not recommended. They have been deprecated and their support may be removed in a later release. Instead, use Java JMS (presently with the Oracle Glassfish MQ provider) and the ENS C API. Note that we do not support use of JMQ with anything running in web containers other than Glassfish.

MMP Legacy Configuration Support Is Deprecated

MMP support for legacy configuration is deprecated and may be removed in a later release.

Support for AXS-One and Operational Archiving Removed

AXS-One and Operational Archiving are no longer supported.

imarchive -s Feature Is Deprecated

This feature is deprecated and may be removed in a later release.

msgtrace Log Format Is Deprecated

The store msgtrace log format is deprecated in favor of the store action log format. The store action log (when is set to transactlog) has similar capability but uses an easy to parse format (XML) that is equivalent to the MTA XML transaction log format. The msgtrace log format may be removed in a later release.

readership Command Is Deprecated

Support for the readership command is deprecated and may be removed in a later release.

Support for MTA BDB Databases Removed

MTA access to database files and the imsimta tools to manipulate MTA database files has been removed. MTA text databases continue to be supported.

Support for Sparse Zones Is Deprecated

Sparse zone support is deprecated and may be removed in a later release.

Enabling POP Before SMTP Is Deprecated

SMTP Authentication, or SMTP Auth (RFC 2554), is the preferred method of providing SMTP relay server security. SMTP Auth allows only authenticated users to send mail through the MTA. The legacy "MMP POP before SMTP" feature is deprecated and may be removed in a later release.

Support for TLS Features Described as "must not" or "should not" in TLS Best Practices Is Deprecated

Support is deprecated for all TLS features mentioned as "must not" or "should not" in RFC 7525 at and may be removed in a later release.

Fixes in This Release

This section lists the fixed issues in this release of Messaging Server.

Table 7 Fixes in Messaging Server 8.0.2

Bug Number Customer SR Notes



Corrupt queue files are now handled properly by the dequeue routines.



The dispatcher now flushes its output whenever a message is written unconditionally to the log.



The LPOOL API has been modified to map a "no such object" bind response to "invalid credentials" and return a "temporary directory failure" response.



A problem has been fixed where the dispatcher_stats_tty command was unable to connect to the dispatcher.



Messaging Server's implementation of the Sieve fileinto command has been changed to better handle control characters in the folder name argument.



A problem has been fixed where msprobe was not correctly monitoring services.


3-14722066771, 3-14332707161

A problem has been fixed with the rehostuser command such that a failure with restoring from backup causes the execution to proceed to cleanup rather than continuing to try the next incremental backup.


3-15008671853, 3-15008069201, 3-14478547401, 3-14323627970, 3-1432292581, 3-14302805741

Some MIME-related issues have been fixed, which could cause message store errors. Also, when Messaging Server encounters an existing message with a size mismatch, the auto repair process is now triggered.


3-14298305810, 3-14297445791

A problem has been fixed with the POP TOP command to correctly display only a message's header when the number of lines is set to 0.



The tcp_smtp_server and reprocess processes no longer core dump when encountering an issue in Oracle Solaris (see Bug Number 24943783).



Support has been added to Messaging Server to trap and recover from a "SIGBUS in index_fetchcacheheader" error when accessing a memory map.


3-14292888371, 3-13846826061

Some problems have been fixed with using the & (ampersand) character with international characters in mailbox names.



A problem has been fixed where you could not disable msgtrace or transactlog after the process starts.


3-13409251301, 3-13035347211

Proxy authentication now logs the authentication and authorization ID.



The online help information for the service.imap.capability.condstore option has been corrected.



A problem has been fixed so that refreshing capabilities does not alter the behavior of existing IMAP sessions.



Clients issuing CONDSTORE commands (for example, MODSEQ) are now accepted even when CONDSTORE is disabled (but QRESYNC is enabled).


3-13846781541, 3-12463999531

When you try to create a folder name longer than 255 characters, the message store now displays an appropriate error message.


3-14382550841, 3-14059372531, 3-12329010621, 3-12240862741

The creation of non-normalized folder names is now not allowed.


3-12118462941, 3-11814819101

The MTA heuristic address parser has been improved to try removing surrounding quotes as part of processing invalid addresses. The resulting corrected addresses are simpler and more palatable for use with some milters.



The msprobe process now displays more information when it fails to check the file system.



The imexpire -d command now displays the users in the expire_exclude_list.



The maximum value for the store.cleanupage option has been changed to 100 (days).




The Cassandra message store indexes message body and attachments, providing for better search.




The Cassandra message store provides an internal user ID (PUID), enabling better email address renaming.

Known Problems

This section lists the known problems in this release of Messaging Server.

Indexed Search Convertor Warning While Converting PDF File

SR Number: N/A

Bug Number: 26226239

In Cassandra message store, the Indexed Search Convertor might fail to convert a large PDF file.

Cassandra Store Cannot Be Stopped When Other Message Store Processes Are Running

SR Number: N/A

Bug Number: 26187893

Indexed Search Converter Should Limit the Queue Size

SR Number: N/A

Bug Number: 26122176

During bursts of high traffic, the Indexed Search Convertor (ISC) does not currently limit the queue size and return a busy error to the client when the queue is full, enabling the client to fail over to another ISC.


Perform one of the following:

  1. Increase the active thread limit (isc.msgprocessor.maxthreads option).

  2. Add more ISC instances to the deployment.

imquotacheck Command Shows Incorrect Total Disk Quota

SR Number: N/A

Bug Number: 25796317

The imquotacheck command output for total disk quota does not match the sum of the individual account quotas.

Cassandra Message Store Quota Root Usage Updates Can Overwrite Each Other

SR Number: N/A

Bug Number: 25667309

Cassandra message store quota root usage updates can overwrite each other, so, quota usage can be inaccurate.

Large Solr Segments Not Merged

SR Number: N/A

Bug Number: 25605873

Large index store segments are not getting merged, which prevents deleted data from being removed from index segments. Eventually, the node's disk becomes full, causing node failure. DataStax has created a patch to fix this problem.

Workaround for each Cassandra/Solr node:

  1. Download and install the DataStax patch.

  2. Make changes to the solrconfig.xml file:

    1. Run the dsetool read_resource command:

      dsetool read_resource ms_index.msgindex name=solrconfig.xml >solrconfig.xml
    2. Add the following content:

      <mergePolicyFactory class="org.apache.solr.index.AutoExpungeDeletesTieredMergePolicyFactory">
            <int name="maxMergedSegmentMB">5000</int>
            <int name="forceMergeDeletesPctAllowed">25</int>
  3. Reload the Solr core with the new solrconfig.xml file:

    dsetool reload_core ms_index.msgindex solrconfig=solrconfig.xml

Cassandra Store Search Should Normalize Queries to NFC Format

SR Number: N/A

Bug Number: 25506348

Some iOS clients send search requests in the non-standard NFD format, which produce incorrect results when the backing index is in the standard NFC format.

imap lsub Command Does Not Display Subscribed Shared Folders

SR Number: N/A

Bug Number: 25345931

Because Cassandra message store does not currently support shared folders, subscribed folders are not displayed when a user with access rights and subscribed to a shared folder lists the subscribed folders.

Event Notification Service Times Out Under Stress

SR Number: N/A

Bug Number: 25205101

Occasionally, the Event Notification Service (ENS) times out when under stress.


If an overload condition causes ENS to time out, add additional store affinity groups to the deployment.

Cassandra Message Store Is Missing Annotation Search

SR Number: N/A

Bug Number: 25177871

Currently, the Cassandra message store does not advertise ANNOTATE-EXPERIMENT-1 because it does not implement annotation search yet.

Cassandra Store msgindex Table Partition Assignment Can Be Inaccurate

SR Number: NA

Bug Number: 25130372

The Cassandra store msgindex table partition assignment can be inaccurate when multiple threads are updating the quota record of a user at the same time. The msgindex partition can become very large and impact performance.

Workaround: Limit the total message count per user to less than 1 million messages.

Need msprobe Integration with Indexed Search Converter

SR Number: N/A

Bug Number: 25035624

For the Indexed Search Convertor (ISC) to shut down gracefully, then the ISC must be integrated with the msprobe process.

imsrestore Command Does Not Restore Annotations and Shared Folders in Cassandra Message Store

SR Number: N/A

Bug Number: 24755752

Currently, in Cassandra message store, the imsrestore command does not restore annotations and shared folders because these features are not yet supported.

Internal date Time Zone Information Is Lost During Backup and Restore

SR Number: N/A

Bug Number: 24462739

Resource Consumption Grows in Cassandra Store as Number of Messages Inbox Increases

SR Number: N/A

Bug Number: 24462049

The amount of CPU, RAM, and network resources consumed by imapd when in Cassandra message store mode grows as the number of messages in a mailbox increases.

imsbackup -x Command Does Not Back Up Expunged Messages

SR Number: 3-14371431171, 3-14313694321

Bug Number: 24406306

Running the imsbackup -x command does not back up expunged messages.

Mail Deletion Fails When Deleted by a User Subscribed to the Mailbox (Cassandra Message Store Only)

SR Number: N/A

Bug Number: 24302912

This problem occurs only when a user having access to a shared folder performs expunge operations on the shared folder.

Unable to Copy Email Messages to Shared Folders (Cassandra Message Store Only)

SR Number: N/A


Because Cassandra message store does not currently support shared folders, copying email messages to shared folders does not work.

configure Script Does Not Always Disable sendmail

SR Number: N/A

Bug Number: 23070490

Disabling sendmail through the configure script is not always successful.

Shared Folders Are Not Supported (Cassandra Message Store Only)

SR Number: N/A

Bug Number: N/A

Currently, the Cassandra message store does not support shared folders.

Deleting and Moving Email Messages on iOS Is Not Successful

SR Number: N/A

Bug Numbers: 24389385, 24384152, and 24382296

There is an issue on iOS where deleting all email messages, or moving all email messages into a folder, might not be successful.

Store ENS Event Feature Parity with Glassfish MQ Store Events

SR Number: N/A

Bug Number: 26290829

The events and event attributes available for ENS need to have feature parity with the events and event attributes that are available for Oracle Glassfish Message Queue events.

Messaging Server Now Requires High Level of TLS Security

SR Number: NA

Bug Number: 21626085

Messaging Server 8.0.1 and greater requires a high level of TLS security that legacy clients may not support. If legacy clients are unable to connect to Messaging Server, then the tlsminversion options can be used to reduce server security requirements thus allowing legacy clients to connect.


Run the following command in a Unified Configuration before starting Messaging Server to avoid a start up failure after upgrading:

msconfig set base.tlsminversion TLS1.0

or in a legacy configuration:

configutil -o local.tlsminversion -v TLS1.0

Starting Messaging Server Can Fail After Upgrade in HA

SR Number: NA

Bug Number: 21785994

Starting Messaging Server can fail after you upgrade from version 7U4 P27 to 8.0.2 or from 7U4 P27 to (or higher), then to 8.0.2 in an HA environment.


After upgrading to Messaging Server 8.0.2 in HA, run start-msg before running any other command.

SNMP Issues

The SNMP support in Messaging Server depends on operating system APIs that are unstable across major OS releases. Due to this issue, the SNMP feature works best on the oldest supported version of a given operating system and may have problems on newer operating systems. For Solaris 11, you can get SNMP working by doing the following.

  1. Create a soft link to the madmand library.

    cd /opt/sun/comms/messaging64/lib
    ln -s madmand madmand9
  2. Install the Solaris 10 Packages.

    pkgadd SUNWsmagt SUNWsmcmd
  3. Configure Messaging Server to run the SNMP Agent in stand-alone mode.

    set role.snmp.enable 1
    set role.snmp.standalone 1
    set role.snmp.listenaddr INADDR_ANY


    set role.snmp.listenaddr appropriate_IP_address 

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit or visit if you are hearing impaired.

Oracle Communications Messaging Server Release Notes, Release 8.0.2


Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.