IMAP error statuses

From Messaging Server Technical Reference Wiki
Jump to: navigation, search

When users attempt to access or manipulate their mailboxes or messages via an IMAP client or POP client may, various Message Store errors may occur and be reported or logged; these errors are referred to as IMAP errors, since the Message Store is a fundamentally IMAP-oriented repository of messages. Utilities operating on the Message Store may also encounter such IMAP errors. And MTA channels attempting to deliver to the Message Store, i.e., ims-ms channels or tcp_lmtpcs* channels, can also encounter a subset of such IMAP errors (discussed further in ims-ms channel error messages).

Additional details on the underlying Message Store issue that gave rise to an IMAP error status may be available in the Message Store NSLOG logging for the component which encountered the issue; in the case of the ims-ms channel or LMTP server, see the imta NSLOG file discussed in ims-ms channel debugging and error logging.

IMAP error statuses
Name Type RFC 5530 code Text+ Meaning
IMAP_IOERROR MTA-temp [CONTACTADMIN] System I/O error. Administrator, check server log for details. The Message Store may be corrupted, or otherwise inaccessible (e.g., disk not mounted); or the Message Store store.idx file may have reached its 2 gigabyte size limit.
IMAP_CONFIG_ERROR MTA-perm [CONTACTADMIN] Configuration error For the MTA Message Store delivery channels, returned if either LDAP pool code, or the domain map code, cannot be initialized. For Message Store servers and Message Store utilities, returned if the Message Store or library code cannot be initialized.
IMAP_PERMISSION_DENIED MTA-perm [NOPERM] Permission denied Typically, this error relates to an attempt to create or delete a mailbox (i.e., folder), where either there was a (semantic) problem with the folder name, or a problem with IMAP ACLs on the folder. (Note that for privacy reasons, IMAP ACL problems may instead be reported with the less informative IMAP_MAILBOX_NONEXISTENT error.) This error may also be reported in cases of ACL problems attempting to read or modify an IMAP flag on a message.
IMAP_QUOTA_EXCEEDED MTA-temp [OVERQUOTA] Over quota The recipient has exceeded their configured quota, but for less than the configured grace period.
IMAP_QUOTA_EXCEEDED_PERSISTENT MTA-perm [OVERQUOTA] Over quota The user has exceeded their configured quota for more than the configured grace period.
IMAP_MESSAGE_TOO_LARGE MTA-perm [LIMIT] Message too large Message is larger than the user's entire quota.
IMAP_USERFLAG_EXHAUSTED   [LIMIT] Too many keywords in mailbox  
IMAP_MAILBOX_BADFORMAT MTA-temp [CORRUPTION] Mailbox has an invalid format The mailbox may be corrupted.
IMAP_MAILBOX_NOTSUPPORTED MTA-temp   Operation is not supported on mailbox The mailbox may be corrupted.
IMAP_MAILBOX_NONEXISTENT MTA-perm [NONEXISTENT] Mailbox does not exist (Recall that these error messages are general IMAP error messages, that may occur in other contexts besides ims-ms channel or LMTP channel delivery.) When this error occurs in the context of an ims-ms or LMTP channel delivery, the meaning is as follows. Normally, the ims-ms channel and LMTP server tcp_lmtpss* channel will create a mailbox, if it does not exist. And when delivery to a specific folder is being attempted due to a Sieve "fileinto" action, and the folder does not exist, the channel will attempt to create the folder. (If the folder part of the address was not generated by the user's Sieve filter nor world writeable, then the channel will log a General facility, Information level notice to the imta file saying "append_setup path failed, trying INBOX:" followed by the IMAP_MAILBOX_NONEXISTENT error text. If the folder part was due to the user's Sieve filter but the folder could not be created, then the channel will log a General facility, Error level notice to the imta file saying "mboxlist_createmailbox path failed, trying INBOX:" with the specific IMAP error text.) But if the partition is bogus, then this error will be returned.
IMAP_WRONG_MAILHOST MTA-perm   Mailbox is on a different server Arises when attempting to create a mailbox (folder). For the MTA's delivery channels, this suggests that either the user's LDAP entry is missing a mailHost attribute entirely, or their mailHost has been changed (their mailbox has been moved) while old messages were awaiting delivery in the ims-ms channel queue area, or that there is an error in the MTA configuration (causing it to attempt to deliver a message on the wrong mailHost), or operator error whereby messages have been manually moved (incorrectly) from one host to another.
IMAP_MAILBOX_EXISTS   [ALREADYEXISTS] Mailbox already exists When attempting to create a folder, this is a success status
IMAP_MAILBOX_BADNAME MTA-perm [CANNOT] Invalid mailbox name  
Delivery temporary errors
IMAP_MAILBOX_LOCKED MTA-temp [INUSE] Mailbox is busy The mailbox was locked. When this status is encountered, the MTA delivery channel (ims-ms or tcp_lmtpcs*) first retries 10 times at 100 millisecond intervals (before this error is ever even reported back from the channel). Prior to 8.0, lock attempts were nonblocking; a 1 second time is used in 8.0 or later. If the mailbox remains locked, then the channel gives up on this delivery attempt, generating a "Q" record with the "Mailbox is busy" reason if logging is enabled. And then there is special code in the ims-ms channel (and as of MS 7.0 in the LMTP client channel; see the MAILBOX_BUSY_FAST_RETRY TCP/IP-channel-specific option) to ask the Job Controller to retry delivery again very, very soon---with a randomly generated backoff of between one second and two minutes---overriding the normal *backoff values. Occasional occurrences of such a temporary error are normal, as for instance if a user is logged in and performing extensive, time-consuming operations on a mailbox; indeed, it is because an occasional such occurrence is "normal" that the delivery channels have special code to handle this (usually transient) error condition by retrying delivery very soon. However, persistent occurrences for the same user might suggest a problem with that user's mailbox. Or, if such errors suddenly start occurring at around the same time for all (or many) users, that could be a suggestion of some more widespread and general problem with the Message Store.
IMAP_MAILBOX_EXHAUSTED   [LIMIT] Too many mailboxes IMAP client attempt to perform an IMAP search on more than maxsearchmailboxes.
IMAP_MAILBOX_PINNED   [NOPERM] Mailbox is pinned Attempt to deleted a "pinned" mailbox (that is, folder); see the pin Message Store option.
IMAP_PARTITION_UNKNOWN Temporary   Unknown/invalid partition The user's mailMessageStore LDAP attribute does not correspond to a partition-name defined via a path  partition option in Unified Configuration (a store.partition.partition-name.path configutil parameter in legacy configuration), or the value of that option or configutil parameter does not point to a valid location, or contains invalid characters (only alphanumeric characters are allowed). (If a user does not have a mailMessageStore set at all, then the Message Store's default partition, defaultpartition Message Store option in Unified Configuration or store.defaultpartition configutil parameter in legacy configuration, is assumed, which defaults to primary. When the absence of an explicit mailMessageStore is causing use of the default partition, then whatever the default partition is, it must then have a valid path specified in the path option for that named partition in Unified Configuration (partititon:whatever.path) or the store.partition.whatever.path configutil parameter; in particular, when store.defaultpartition has its default value of primary, then the primary partition must have a valid path specified in partition:primary.path in Unified Configuration or store.partition.primary.path in legacy configuration.)
IMAP_INVALID_IDENTIFIER   [CANNOT] Invalid identifier May occur when attempting to set an ACL on a folder
IMAP_INVALID_MSGNO     Invalid message number  
IMAP_MESSAGE_CONTAINSNULL MTA-perm [UNKNOWN-CTE] Message contains NUL characters (A message that has gone through the MTA will not normally cause such an error, as the MTA will normally legalize message content.)
IMAP_MESSAGE_BADHEADER MTA-perm   Message contains invalid header  
IMAP_MESSAGE_NOBLANKLINE MTA-perm   Message has no header/body separator (A message that has gone through the MTA will not normally cause such an error, as the MTA will normally legalize messages one way or another; see the *headertermination channel options.)
IMAP_MESSAGE_EXHAUSTED   [LIMIT] Too many messages  
IMAP_QUOTAROOT_NONEXISTENT     Quota root does not exist  
IMAP_MAILBOX_TOO_LARGE   [LIMIT] Mailbox too large  
IMAP_UIDVALIDITY_INCORRECT     Mailbox has been replaced by a newer version  
IMAP_UNRECOGNIZED_CHARSET   [BADCHARSET] Unrecognized character set  
IMAP_UNRECOGNIZED_LANGUAGE     Unrecognized language  
IMAP_INVALID_USER MTA-perm   Invalid user The recipient address did not parse into syntactically valid uid, channel part, and optionally domain and/or folder portions
IMAP_ANONYMOUS_NOT_PERMITTED IMAP-only   Anonymous login is not permitted Returned by the IMAP server to any attempt to login as "anonymous" when imap.allowanonymouslogin has not been set.
IMAP_TEMP_AUTH_FAILURE   [UNAVAILABLE] Authentication server temporarily unavailable  
IMAP_UNSUPPORTED_QUOTA     Unsupported quota resource  
IMAP_BADURLPART     nonexistant message section  
IMAP_BADURL     Invalid or inappropriate URL  
IMAP_JUNK_AT_END     Junk at end of command  
IMAP_NO_OVERQUOTA   [OVERQUOTA] Mailbox is over quota  
IMAP_NO_CLOSEQUOTA   [ALERT] Mailbox is at <x>% of quota  
IMAP_NO_MSGGONE     Message no longer exists  
IMAP_NO_MSGTMPFAIL   [UNAVAILABLE] Message temporarily unavailable  
IMAP_NO_DECODE   [UNKNOWN-CTE] Unable to decode message  
IMAP_NO_CHECKPERUSER     Unable to checkpoint per-user flags  
IMAP_NO_CHECKPRESERVE     Unable to preserve per-user flags  
IMAP_PROXY_UNAVAILABLE   [UNAVAILABLE] Server hosting this mailbox is not available  
IMAP_PROXY_ERROR   [CONTACTADMIN] Error parsing backend IMAP server response  
IMAP_PROXY_DISCONNECTED   [UNAVAILABLE] The backend IMAP server has disconnected  
IMAP_PROXY_CONDSTORE_ERROR     The backend IMAP server does not support CONDSTORE  
IMAP_PARTITION_FULL MTA-temp [CONTACTADMIN] Store partition is full See also the (new in MS 6.2) configutil parameters and (initially instead named in MS 6.2), or in Unified Configuration the checkdiskusage and diskusagethreshold Message Store options, which control whether---and when---the store performs checks on its disk space usage. With such checks enabled, the store will "lock" a partition (at which point the IMAP_PARTITION_FULL error will be returned) slightly before the partition is actually filled up. This is a safety measure, to ensure that expunge operations (which need to rewrite the index files) have disk room in which to operate.
IMAP_PROXY_ONLY MTA-perm   Server is not configured for local users  
IMAP_REPLACEMENT_STRING_TOO_LONG     unknown-character-replacement value is too long  
IMAP_CANNOT_CONVERT_FROM_CHARSET     Charset of original body unrecognised  
IMAP_CANNOT_CONVERT_TO_CHARSET     Destination charset unrecognized  
IMAP_CONVERT_ERROR     Conversion failed  
IMAP_BAD_CONVERT_PARAMETERS     Bad convert parameter specified  
IMAP_MISSING_CONVERT_PARAMETER     Required convert parameter missing  
IMAP_UNKNOWN_CHARACTER_FOUND     unknown character found. try specifying unknown-character-replacement  
IMAP_NO_CONVERTER     No converter defined for this pair of body types  
IMAP_CONVERT_MULTIPART     Cannot convert whole message or multipart parts  
IMAP_URLERR_SCHEME     Invalid URL scheme found in URL  
IMAP_URLERR_RELPATH     Relative path found in URL  
IMAP_URLERR_USER     Invalid user name found in URL  
IMAP_URLERR_PASS     Invalid password found in URL  
IMAP_URLERR_HOST     Invalid host found in URL  
IMAP_URLERR_PORT     Invalid port found in URL  
IMAP_INVALID_USEATTR   [USEATTR] Use attribute not supported.  
IMAP_MESSAGE_CONTAINSNL Permanent   Message contains bare newlines (A message that has gone through the MTA will not normally cause such an error, as the MTA will normally canonicalize message content resulting in proper use of CRLF for line breaks, and encoded newlines in binary content; see the discussion of the lmtp* and smtp* channel options.)
Untagged BYE responses
IMAP_BYE_SHUTDOWN     System shutting down  
IMAP_ACCOUNT_TEMP_UNAVAILABLE   [UNAVAILABLE] Account temporarily unavailable for system maintenance  
Tagged OK responses
IMAP_OK_COMPLETED     Completed  
Password expiration warnings
IMAP_PWEXPIRE_LESS1DAY   [ALERT] Your password will expire in less than one day. See the IMAP password expiration alert options.
IMAP_PWEXPIRE_1DAY   [ALERT] Your password will expire in one day. See the IMAP password expiration alert options.
IMAP_PWEXPIRE_NDAYS   [ALERT] Your password will expire in <n> days. See the IMAP password expiration alert options.
IMAP_PWCHANGE_URL     You may change your password by directing your web browser to <url>. Additional text added to above password expiration warnings, if the pwchangeurl base option is set (or if it is not set, if the accounturl base option is set).
Used when archiving causes APPEND to fail
IMAP_ARCHIVE_FAILAPPEND   [CONTACTADMIN] Mailbox append disabled due to archiving failure. If the compliance Message Store archive option is set, but the archiving could not be performed during an attempted IMAP APPEND operation, this is the error returned.
Additional IMAP errors
IMAP_FSCORRUPT     File system error. Administrator, check server log for details. Typically means that the cache file or index file is corrupted.
IMAP_SYS_ERROR     System error. Administrator, check server log for details (new in 8.0.2).  
IMAP_SERVER_TEMP_BUSY     Server temporary busy. Administrator, check server log for details (new in 8.0.2).  
IMAP_REFER_USER     Follow referral to access INBOX and personal folders. IMAP server referral attempt.
IMAP_REFER_MASTER     This is a read-only replica, follow referral for read-write master. IMAP server referral attempt.
IMAP reporting underlying authentication (HULA) errors
HULA_TRANS   [TRANSITION-NEEDED] A transition is needed to use the specified mechanism  
HULA_EXPIRED   [EXPIRED] Password expired  
HULA_NOMEM   [UNAVAILABLE] Not enough memory available  
HULA_TRYAGAIN   [UNAVAILABLE] Transient failure -- try authentication again  
HULA_UNAVAIL   [UNAVAILABLE] Service temporarily unavailable  
HULA_NOAUTHZ   [AUTHORIZATIONFAILED] Not authorized to login as specified user  
HULA_DISABLED   [AUTHORIZATIONFAILED] Account disabled Domain status, or user status, is "disabled"
HULA_ENCRYPT   [PRIVACYREQUIRED] Encryption required  
HULA_all-other-errors   [AUTHENTICATIONFAILED] error-detail-text All other authentication (HULA) errors.

+The IMAP error text is localizable. The text shown in this table is merely the default text (which happens to be English).

See also: