Aspose::Email::Clients::Imap Namespace Reference

Namespaces

 Commands
 

Classes

class  BackupSettings
 Class contains options for backup operation More...
 
class  ESearchOptions
 ESEARCH Result Options This method works only if server supports ESEARCH extension. Please, read more https://tools.ietf.org/html/rfc4315 More...
 
class  FetchTimeoutException
 Represents the exception that is thrown when a message can not be read within the specified time. More...
 
class  FINAL
 Represents the authentication methods for ImapClient to log into the IMAP servers. More...
 
class  ImapException
 Represents the exception that is thrown when the ImapClient is not able to complete an operation. More...
 
class  ImapIdentificationInfo
 Represents class-container with identification information to exchange between mail client and server. Please, read more rfc2971 https://tools.ietf.org/html/rfc2971 More...
 
class  ImapMailboxInfo
 Contains set of special-use mailboxes More...
 
class  ImapMessageFlags
 Represents the flags associated with the message. More...
 
class  ImapMonitoringEventArgs
 Class contains monitoring event data. More...
 
class  ImapNamespace
 Represents IMAP namespace More details: https://tools.ietf.org/html/rfc2342 More...
 
class  ImapPageInfo
 Contains information about retrieved page when paging methods are used. More...
 
class  ImapQuota
 Contains information about quota for mailbox resource. More...
 
class  ImapQuotaRoot
 Contains information about quota root for mailbox resource. More...
 
class  ModificationSequenceField
 Defines set of values for selected field to search. More...
 
class  PageSettings
 The settings for the ImapClient.ListMessagesByPage method More...
 
class  PageSettingsAsync
 The settings for the ImapClient.BeginListMessagesByPage async method. More...
 
class  RangeSeqSet
 Container with range of values to search. More...
 
class  RestoreSettings
 The settings for the ImapClient.Restore method More...
 
class  RestoreSettingsAsync
 The settings for the ImapClient.Restore async method. More...
 
class  SequenceSetBaseValue
 Base class for different containers for values to search. More...
 
class  SequenceSetField
 Defines set of values for selected field to search. More...
 
class  SimpleSeqSet
 Simple container for value to search. More...
 

Typedefs

using ImapMonitoringEventHandler = System::MulticastDelegate< void(System::SharedPtr< System::Object >, System::SharedPtr< ImapMonitoringEventArgs >)>
 

Enumerations

enum  ImapCommandResult {
  ImapCommandResult::Undetermined, ImapCommandResult::Success, ImapCommandResult::Failure, ImapCommandResult::Error,
  ImapCommandResult::ContinuationRequest
}
 Enumerates the imap command results. More...
 
enum  ImapSpecialFolderTypes {
  ImapSpecialFolderTypes::NotSpecified = 0, ImapSpecialFolderTypes::Regular = 0, ImapSpecialFolderTypes::All, ImapSpecialFolderTypes::Archive,
  ImapSpecialFolderTypes::Drafts, ImapSpecialFolderTypes::Flagged, ImapSpecialFolderTypes::Junk, ImapSpecialFolderTypes::Sent,
  ImapSpecialFolderTypes::Trash, ImapSpecialFolderTypes::Important
}
 Represents enumeration of special-use mailboxes More details see in RFC6154 http://tools.ietf.org/html/rfc6154 More...
 
enum  ImapNamespaceType { ImapNamespaceType::Personal, ImapNamespaceType::OtherUsers, ImapNamespaceType::Shared }
 Represents IMAP namespace type More details: https://tools.ietf.org/html/rfc2342 More...
 
enum  ListFoldersOptions { ListFoldersOptions::None = 0, ListFoldersOptions::Subscribed = 1, ListFoldersOptions::Remote = 2, ListFoldersOptions::RecursiveMatch = 4 }
 The folder list selection options Please note, this options are supported in case if server supports RFC 5258 "IMAP LIST Command Extensions" See more details in https://tools.ietf.org/html/rfc5258 More...
 
enum  ListFoldersReturnOptions { ListFoldersReturnOptions::None = 0, ListFoldersReturnOptions::Subscribed = 1, ListFoldersReturnOptions::Children = 2 }
 Return options for ListFolders operation Please note, this options are supported in case if server supports RFC 5258 "IMAP LIST Command Extensions" See more details in https://tools.ietf.org/html/rfc5258 More...
 
enum  ImapStatusCode {
  ImapStatusCode::Ok, ImapStatusCode::No, ImapStatusCode::Bad, ImapStatusCode::Preauth,
  ImapStatusCode::Bye, ImapStatusCode::Alert, ImapStatusCode::BadCharset, ImapStatusCode::Capability,
  ImapStatusCode::Parse, ImapStatusCode::PermanentFlags, ImapStatusCode::ReadOnly, ImapStatusCode::ReadWrite,
  ImapStatusCode::TryCreate, ImapStatusCode::UIDNext, ImapStatusCode::UIDValidity, ImapStatusCode::Unseen,
  ImapStatusCode::Unsolicited
}
 Represents the status responses. More...
 

Functions

ASPOSE_EMAIL_SHARED_API System::SharedPtr< ImapMessageFlagsoperator| (System::SharedPtr< ImapMessageFlags > a, System::SharedPtr< ImapMessageFlags > b)
 
ASPOSE_EMAIL_SHARED_API System::SharedPtr< ImapMessageFlagsoperator| (System::SharedPtr< ImapMessageFlags > a, int64_t b)
 
ASPOSE_EMAIL_SHARED_API System::SharedPtr< ImapMessageFlagsoperator| (int64_t a, System::SharedPtr< ImapMessageFlags > b)
 
ASPOSE_EMAIL_SHARED_API System::SharedPtr< ImapMessageFlagsoperator& (System::SharedPtr< ImapMessageFlags > a, System::SharedPtr< ImapMessageFlags > b)
 
ASPOSE_EMAIL_SHARED_API bool operator!= (System::SharedPtr< ImapMessageFlags > a, System::SharedPtr< ImapMessageFlags > b)
 
ASPOSE_EMAIL_SHARED_API bool operator== (System::SharedPtr< ImapMessageFlags > a, System::SharedPtr< ImapMessageFlags > b)
 
 DECLARE_ENUM_OPERATORS (Aspose::Email::Clients::Imap::ListFoldersOptions)
 
 DECLARE_ENUM_OPERATORS (Aspose::Email::Clients::Imap::ListFoldersReturnOptions)
 
 DECLARE_ENUM_OPERATORS (Aspose::Email::Clients::Imap::ImapStatusCode)
 
ASPOSE_EMAIL_SHARED_API System::SharedPtr< ESearchOptionsoperator+ (System::SharedPtr< ESearchOptions > val1, System::SharedPtr< ESearchOptions > val2)
 
ASPOSE_EMAIL_SHARED_API System::SharedPtr< ESearchOptionsoperator- (System::SharedPtr< ESearchOptions > val1, System::SharedPtr< ESearchOptions > val2)
 
ASPOSE_EMAIL_SHARED_API bool operator== (System::SharedPtr< ESearchOptions > val1, System::SharedPtr< ESearchOptions > val2)
 
ASPOSE_EMAIL_SHARED_API bool operator!= (System::SharedPtr< ESearchOptions > val1, System::SharedPtr< ESearchOptions > val2)
 

Typedef Documentation

◆ ImapMonitoringEventHandler

using Aspose::Email::Clients::Imap::ImapMonitoringEventHandler = typedef System::MulticastDelegate<void(System::SharedPtr<System::Object>, System::SharedPtr<ImapMonitoringEventArgs>)>

Enumeration Type Documentation

◆ ImapCommandResult

Enumerates the imap command results.

Enumerator
Undetermined 

Indicates that the result of command is undetermined.

Success 

Indicates that the command is successfully completed.

Failure 

Indicates that the command failed.

Error 

Indicates the protocol error or command syntax error.

ContinuationRequest 

Indicates that the next part of command is expected.

◆ ImapNamespaceType

Represents IMAP namespace type More details: https://tools.ietf.org/html/rfc2342

Enumerator
Personal 

Personal namespace

OtherUsers 

Other users' namespace

Shared 

Shared namespace

◆ ImapSpecialFolderTypes

Represents enumeration of special-use mailboxes More details see in RFC6154 http://tools.ietf.org/html/rfc6154

Enumerator
NotSpecified 

If IMAP LIST Extension for Special-Use Mailboxes (RFC6154) is supported, this means that mailbox is regular and does not used for special purposes.

Regular 

If IMAP LIST Extension for Special-Use Mailboxes (RFC6154) is supported, this means that mailbox is regular and does not used for special purposes.

All 

This mailbox presents all messages in the user's message store. Implementations MAY omit some messages, such as, perhaps, those in and .
When this special use is supported, it is almost certain to represent a virtual mailbox.

Archive 

This mailbox is used to archive messages. The meaning of an "archival" mailbox is server-dependent; typically, it will be used to get messages out of the inbox, or otherwise keep them out of the user's way, while still making them accessible.

Drafts 

This mailbox is used to hold draft messages typically, messages that are being composed but have not yet been sent. In some server implementations, this might be a virtual mailbox, containing messages from other mailboxes that are marked with the "\Draft" message flag.
Alternatively, this might just be advice that a client put drafts here.

Flagged 

This mailbox presents all messages marked in some way as "important". When this special use is supported, it is likely to represent a virtual mailbox collecting messages (from other mailboxes) that are marked with the "\Flagged" message flag.

Junk 

This mailbox is where messages deemed to be junk mail are held. Some server implementations might put messages here automatically.
Alternatively, this might just be advice to a client-side spam filter.

Sent 

This mailbox is used to hold copies of messages that have been sent. Some server implementations might put messages here automatically.
Alternatively, this might just be advice that a client save sent messages here.

Trash 

This mailbox is used to hold messages that have been deleted or marked for deletion. In some server implementations, this might be a virtual mailbox, containing messages from other mailboxes that are marked with the "\Deleted" message flag. Alternatively, this might just be advice that a client that chooses not to use the IMAP "\Deleted" model should use this as its trash location.
In server implementations that strictly expect the IMAP "\Deleted" model, this special use is likely not to be supported.

Important 

This mailbox is used to hold messages that have been marked as important. The "\Important" mailbox attribute is a signal that the mailbox contains messages that are likely important to the user. In an implementation that also supports the "$Important" keyword, this special use is likely to represent a virtual mailbox collecting messages (from other mailboxes) that are marked with the "$Important" keyword. In other implementations, the system might automatically put messages there based on the same sorts of heuristics that are noted for the "$Important" keyword.
The distinctions between "\Important" and "\Flagged" for mailboxes are similar to those between "$Important" and "\Flagged" for messages. https://tools.ietf.org/html/rfc8457

◆ ImapStatusCode

Represents the status responses.

Enumerator
Ok 

The OK response indicates an information message from the server. When tagged, it indicates successful completion of the associated command.
The human-readable text MAY be presented to the user as an information message.
The untagged form indicates an information-only message; the nature of the information MAY be indicated by a response code.

No 

The NO response indicates an operational error message from the server.
When tagged, it indicates unsuccessful completion of the associated command.
The untagged form indicates a warning; the command can still complete successfully.
The human-readable text describes the condition.

Bad 

The BAD response indicates an error message from the server.
When tagged, it reports a protocol-level error in the client's command; the tag indicates the command that caused the error.
The untagged form indicates a protocol-level error for which the associated command can not be determined; it can also indicate an internal server failure.
The human-readable text describes the condition.

Preauth 

The PREAUTH response is always untagged, and is one of three possible greetings at connection startup.
It indicates that the connection has already been authenticated by external means and thus no LOGIN command is needed.

Bye 

The BYE response is always untagged, and indicates that the server is about to close the connection.
The human-readable text MAY be displayed to the user in a status report by the client.
The difference between a BYE that occurs as part of a normal LOGOUT sequence (the first case) and a BYE that occurs because of a failure (the other three cases) is that the connection closes immediately in the failure case.

Alert 

The human-readable text contains a special alert that MUST be presented to the user in a fashion that calls the user's attention to the message.

BadCharset 

Optionally followed by a parenthesized list of charsets. A SEARCH failed because the given charset is not supported by this implementation.

Capability 

Followed by a list of capabilities.

Parse 

The human-readable text represents an error in parsing the [RFC-2822] header or [MIME-IMB] headers of a message in the mailbox.

PermanentFlags 

Followed by a parenthesized list of flags, indicates which of the known flags the client can change permanently.

ReadOnly 

The mailbox is selected read-only.

ReadWrite 

The mailbox is selected read-write.

TryCreate 

An APPEND or COPY attempt is failing because the target mailbox does not exist.

UIDNext 

Indicates the next unique identifier value.

UIDValidity 

Indicates the unique identifier validity value.

Unseen 

Indicates the number of the first message without the flag set.

Unsolicited 

Untagged status responses.

◆ ListFoldersOptions

The folder list selection options Please note, this options are supported in case if server supports RFC 5258 "IMAP LIST Command Extensions" See more details in https://tools.ietf.org/html/rfc5258

Enumerator
None 

Not defined

Subscribed 

SUBSCRIBED - causes the LIST command to list subscribed names, rather than the existing mailboxes.
This will often be a subset of the actual mailboxes.
It's also possible for this list to contain the names of mailboxes that don't exist.
In any case, the list MUST include exactly those mailbox names that match the canonical list pattern and are subscribed to.
This option is intended to supplement the LSUB command.
Of particular note are the mailbox attributes as returned by this option, compared with what is returned by LSUB.
With the latter, the attributes returned may not reflect the actual attribute status on the mailbox name, and the attribute has a second special meaning (it indicates that this mailbox is not, itself, subscribed, but that it has descendant mailboxes that are).
With the SUBSCRIBED selection option described here, the attributes are accurate and complete, and have no special meanings.
"LSUB" and "LIST (SUBSCRIBED)" are, thus, not the same thing, and some servers must do significant extra work to respond to "LIST (SUBSCRIBED)".
Because of this, clients SHOULD continue to use "LSUB" unless they specifically want the additional information offered by "LIST (SUBSCRIBED)". This option defines a new mailbox attribute, "\Subscribed", that indicates that a mailbox name is subscribed to. The "\Subscribed" attribute MUST be supported and MUST be accurately computed when the SUBSCRIBED selection option is specified. Note that the SUBSCRIBED selection option implies the SUBSCRIBED return option (see below).

Remote 

REMOTE - causes the LIST command to show remote mailboxes as well as local ones, as described in [MBRef].
This option is intended to replace the RLIST command and, in conjunction with the SUBSCRIBED selection option, the RLSUB command. This option defines a new mailbox attribute, "\Remote", that indicates that a mailbox is a remote mailbox. The "\Remote" attribute MUST be accurately computed when the REMOTE option is specified. The REMOTE selection option has no interaction with other options. Its effect is to tell the server to apply the other options, if any, to remote mailboxes, in addition to local ones.
In particular, it has no interaction with RECURSIVEMATCH (see below). A request for (REMOTE RECURSIVEMATCH) is invalid, because a request for (RECURSIVEMATCH) is.
A request for (REMOTE RECURSIVEMATCH SUBSCRIBED) is asking for all subscribed mailboxes, both local and remote.

RecursiveMatch 

RECURSIVEMATCH - this option forces the server to return information about parent mailboxes that don't match other selection options, but have some submailboxes that do.
Information about children is returned in the CHILDINFO extended data item.
Note 1: In order for a parent mailbox to be returned, it still has to match the canonical LIST pattern. Note 2: When returning the CHILDINFO extended data item, it doesn't matter whether or not the submailbox matches the canonical LIST pattern.
The RECURSIVEMATCH option MUST NOT occur as the only selection option (or only with REMOTE), as it only makes sense when other selection options are also used.
The server MUST return BAD tagged response in such case. Note that even if the RECURSIVEMATCH option is specified, the client MUST still be able to handle a case when a CHILDINFO extended data item is returned and there are no submailboxes that meet the selection criteria of the subsequent LIST command, as they can be deleted/renamed after the LIST response was sent, but before the client had a chance to access them.

◆ ListFoldersReturnOptions

Return options for ListFolders operation Please note, this options are supported in case if server supports RFC 5258 "IMAP LIST Command Extensions" See more details in https://tools.ietf.org/html/rfc5258

Enumerator
None 

Not defined

Subscribed 

SUBSCRIBED - causes the LIST command to return subscription state for all matching mailbox names.
The "\Subscribed" attribute MUST be supported and MUST be accurately computed when the SUBSCRIBED return option is specified.
Further, all mailbox flags MUST be accurately computed (this differs from the behavior of the LSUB command).

Children 

CHILDREN - requests mailbox child information. This option MUST be supported by all servers.

Function Documentation

◆ DECLARE_ENUM_OPERATORS() [1/3]

Aspose::Email::Clients::Imap::DECLARE_ENUM_OPERATORS ( Aspose::Email::Clients::Imap::ListFoldersReturnOptions  )

◆ DECLARE_ENUM_OPERATORS() [2/3]

Aspose::Email::Clients::Imap::DECLARE_ENUM_OPERATORS ( Aspose::Email::Clients::Imap::ListFoldersOptions  )

◆ DECLARE_ENUM_OPERATORS() [3/3]

Aspose::Email::Clients::Imap::DECLARE_ENUM_OPERATORS ( Aspose::Email::Clients::Imap::ImapStatusCode  )

◆ operator!=() [1/2]

ASPOSE_EMAIL_SHARED_API bool Aspose::Email::Clients::Imap::operator!= ( System::SharedPtr< ESearchOptions val1,
System::SharedPtr< ESearchOptions val2 
)

◆ operator!=() [2/2]

ASPOSE_EMAIL_SHARED_API bool Aspose::Email::Clients::Imap::operator!= ( System::SharedPtr< ImapMessageFlags a,
System::SharedPtr< ImapMessageFlags b 
)

◆ operator&()

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ImapMessageFlags> Aspose::Email::Clients::Imap::operator & ( System::SharedPtr< ImapMessageFlags a,
System::SharedPtr< ImapMessageFlags b 
)

◆ operator+()

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ESearchOptions> Aspose::Email::Clients::Imap::operator+ ( System::SharedPtr< ESearchOptions val1,
System::SharedPtr< ESearchOptions val2 
)

◆ operator-()

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ESearchOptions> Aspose::Email::Clients::Imap::operator- ( System::SharedPtr< ESearchOptions val1,
System::SharedPtr< ESearchOptions val2 
)

◆ operator==() [1/2]

ASPOSE_EMAIL_SHARED_API bool Aspose::Email::Clients::Imap::operator== ( System::SharedPtr< ESearchOptions val1,
System::SharedPtr< ESearchOptions val2 
)

◆ operator==() [2/2]

ASPOSE_EMAIL_SHARED_API bool Aspose::Email::Clients::Imap::operator== ( System::SharedPtr< ImapMessageFlags a,
System::SharedPtr< ImapMessageFlags b 
)

◆ operator|() [1/3]

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ImapMessageFlags> Aspose::Email::Clients::Imap::operator| ( System::SharedPtr< ImapMessageFlags a,
System::SharedPtr< ImapMessageFlags b 
)

◆ operator|() [2/3]

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ImapMessageFlags> Aspose::Email::Clients::Imap::operator| ( System::SharedPtr< ImapMessageFlags a,
int64_t  b 
)

◆ operator|() [3/3]

ASPOSE_EMAIL_SHARED_API System::SharedPtr<ImapMessageFlags> Aspose::Email::Clients::Imap::operator| ( int64_t  a,
System::SharedPtr< ImapMessageFlags b 
)