Mail
This class allows you to sign-in using Gmail 2-legged OAuth. It's a wrapper over generic class.
Creates new Gmail2LeggedOAuth object.
Consumer key.
Consumer secret.
Gets XOAuthKey that can be used by methods.
Email of the mailbox you want access.
XOAuthKey.
Gets XOAuthKey that can be used by methods.
Email of the mailbox you want access.
XOAuthKey.
This class allows you to sign-in using Google 3-legged OAuth. It's a wrapper over generic class.
Gets consumer token.
Gets request token.
Gets or sets access token.
Creates new GmailOAuth object with consumer key and consumer secret set to "anonymous".
Creates new GmailOAuth object.
Consumer key.
Consumer secret.
Creates new GmailOAuth object.
Consumer token (consumer key and consumer secret).
Gets url you should redirect your user to, in order for him to authorize Google access.
Default scopes are and
Callback address. Google will redirect user to this address after authorization. Your application needs to read the oauth_verifier url parameter.
Url you should redirect the user to.
Gets url you should redirect your user to, in order for him to authorize IMAP access.
Callback address. Google will redirect user to this address after authorization. Your application needs to read the oauth_verifier url parameter.
Scopes you request access to.
Url you should redirect the user to.
Gets url you should redirect your user to, in order for him to authorize IMAP access.
This method uses oob instead of callback this means that your user will need to copy verification code to your application.
Url you should redirect the user to.
Gets url you should redirect your user to, in order for him to authorize IMAP access.
This method uses oob instead of callback this means that your user will need to copy verification code to your application.
Scopes you request access to.
Url you should redirect the user to.
Contacts Google to exchange an authorized request token for an access token.
oauth_verifier url parameter.
Sets access token. Typically you don't need to use this method, as methods retrieves access token for you.
Access token.
Gets XOAuthKey that can be used by and methods.
XOAuthKey.
Gets XOAuthKey that can be used by and methods.
Email address.
XOAuthKey.
Gets XOAuthKey that can be used by and methods.
XOAuthKey.
Gets XOAuthKey that can be used by and methods.
Email address.
XOAuthKey.
Revokes access for specified token (retrieved using or method)
Token to revoke access for.
Provides access to Google API.
Creates new instance of this class.
Access token.
Creates new instance of this class.
Consumer token.
Access token.
Gets email address of the user using https://www.googleapis.com/userinfo/v2/me endpoint.
You need to specify scope to be able to use this method.
User's email address.
Gets email address of the user using https://www.googleapis.com/plus/v1/people/me endpoint.
You need to specify to be able to use this method.
Remember to turn on "Google+ API" in Google Developer Console.
User's email address.
Gets all contacts of the default user.
You need to specify when calling or to be able to use this method.
User's contacts.
Gets all contacts of the specified user.
You need to specify when calling or to be able to use this method.
Email address for which contacts should be downloaded.
User's contacts.
Revokes specified token.
Token to revoke.
Represents Google scope (permission).
You can use static fields of this class like: , and .
IMAP, POP3 and SMTP access ("https://mail.google.com/").
IMAP and SMTP access ("https://mail.google.com/").
Email address access ("https://www.googleapis.com/auth/userinfo.email").
Email address access ("email").
Contacts access (https://www.google.com/m8/feeds/).
Creates new Google scope.
Scope url.
Represents OAuth token nad token secret.
Gets OAuth token.
Gets OAuth token secret.
Creates new OAuthToken object.
OAuth token.
OAuth token secret.
Provides easy access to url parameters required to finish OAuth authorization.
Gets oauth_token url parameter, that can be used to retrieve class from permanent storage.
Gets oauth_verifier url parameter, that can be used to retrieve access token by using method.
Creates new instance of this class.
Raw return url e.g. "https://www.yourwebsite.com?oauth_verifier=XXX&oauth_token=YYY".
HTTP protocol method used by authentication ().
GET method.
POST method.
Represents not signed OAuth request.
Sets the consumer.
Consumer key
Consumer secret
This OAuth object.
Sets the signature method.
Signature method
This OAuth object.
Sets HTTP method (GET or POST).
HTTP method (GET or POST).
This OAuth object.
Sets the timestamp. Timestamp is generated automatically if not set.
This method should be used in tests only.
Timestamp
This OAuth object.
Sets nonce. Nonce is generated automatically if not set.
This method should be used in tests only.
Nonce.
This OAuth object.
Sets OAuth token (oauth_token).
Token to set.
This OAuth object.
Sets OAuth token secret (oauth_token_secret).
Token secret to set.
This OAuth object.
Adds new parameter to this request.
Name of the parameter.
Value of the parameter.
This OAuth object.
Signs this request and creates signed OAuth object.
Signed OAuth object.
Represents signed OAuth request.
Gets entire url including parameters, OAuth parameters and signature.
Url including parameters, OAuth parameters and signature.
Gets base url of this request.
Base url of this request.
Gets XOAuth key that can be used by or login methods.
XOAuth key.
Gets signature of this request.
Request signature.
Gets normalized url (parameters are sorted by name) of this request.
Normalized url.
Gets normalized parameter (sorted by name) of this request.
Normalized parameter list.
Gets parameter collection of this request.
This collection includes all OAuth parameters and signature.
Request parameter collection. Includes all OAuth parameters and signature
Executes a web request using HTTP protocol, and method specified by .
Parameter list returned by the server.
This class allows you to create signed OAuth requests.
Creates new OAuth object for specific url.
Base url.
OAuth object.
Groups all OAuth parameter names.
'oauth_consumer_key' parameter name.
'oauth_callback' parameter name.
'oauth_version' parameter name.
'oauth_signature_method' parameter name.
'oauth_signature' parameter name.
'oauth_timestamp' parameter name.
'oauth_nonce' parameter name.
'oauth_token' parameter name.
'oauth_token_secret' parameter.
'oauth_verifier' parameter.
Provides access to Outlook API.
Creates new instance of this class.
Access token.
Gets email address of the user.
User's email address.
Represents Outlook scope (permission).
You can use static fields of this class like: , .
IMAP and SMTP access ("wl.imap").
Email address access ("wl.emails").
Offline access ("wl.offline_access").
Creates new Google scope.
Scope url.
Represents collection.
Gets the number of parameters in this collection.
Gets parameter by name.
Name of the parameter to search for.
Query parameter with specified name -or- if not found.
Gets value of the parameter by name.
Name of the parameter to search for.
Value of the query parameter with specified name -or- if not found.
Adds new query parameter with specified name and value to this collection.
Parameter name.
Parameter value.
Adds specified query parameter to this collection.
Parameter to add.
Sorts parameters by name.
Renders parameter list to string in url format ("name=value&name2=value2").
Values are always encoded and never quoted.
Parameters in url format.
Renders parameter list to string in http header format ("name=value,name2=value2").
Parameters in url format.
Removes all parameters with specified name.
Name of the parameters to remove.
Parses specified query string and creates parameter collection.
Query string to parse.
New parameter list.
Returns an enumerator that iterates through the collection.
Enumerator that iterates through the collection
Represents query parameter.
Gets parameter name.
Gets parameter value.
Creates new instance of query parameter.
Parameter name.
Parameter value.
Signature types used by authentication ().
HMACSHA1 method.
Plaint text method.
Not supported RSASHA1 method.
Represents SSPI exception.
Initializes new instance of TemplateException with serialized data.
Serialized object data.
Contextual information.
Represents SSPI mechanism.
SSPI authentication methods (NTLM, Kerberos, Negotiate) can work in two modes:
1. The user specifies their credentials explicitly (like other authentication methods work), and authentication token is created from them.
2. Integrated Windows Authentication (IWA).
The authentication token is created by Windows from the credentials of the currently logged Windows user.
The application never deals with the account password.
IWA mode provides increased security and spares the end user from entering their credentials.
IWA, however, cannot be used when the currently logged Windows user is not an interactive user.
In web applications, you often deal with system users (like NETWORK SERVICE, ASPNET, etc).
To be able to use IWA in an ASP.NET application, the application itself must run under the context of an interactive user
(<authentication mode="Windows"/> in web.config).
Also, the user from whose context the authentication token is constructed, must have a valid mailbox on the e-mail server.
This is important as even if the given user is registered in the Active Directory and can log in the domain,
it does not necessarily mean that the system has already provisioned their mailbox.
NTLM mechanism.
Kerberos mechanism. Kerberos is the technological successor to NTLM.
Negotiate mechanism. Selects Kerberos and if not available, NTLM protocol.
Implements TCP/IP text client.
Gets SSL configuration (client certificates, enabled SSL protocols).
Event which is called for custom server certificate validation.
Gets or sets the amount of time the underlying will wait to receive data once a read operation is initiated.
Gets or sets the amount of time the underlying will wait for a send operation to complete successfully.
Gets a value indicating whether the underlying is connected to a remote host.
This property makes a nonblocking, zero-byte Send call to determine the current state of the connection.
Gets the underlying .
Gets a Boolean value that indicates whether communication to the remote server is encrypted.
Gets a Boolean value that indicates whether communication to the remote server is signed.
Gets a Boolean value that indicates whether communication to the remote server is mutually authenticated.
Gets a Boolean value that indicates whether communication to the remote server is compressed.
You can turn compression on by using method.
Gets underlying read stream for current connection.
Gets underlying write stream for current connection.
Initializes a new instance of the ClientBase object.
Sets and to 30 sec.
Initializes a new instance of the ClientBase object.
Sets and to 30 sec.
Address family.
Turns TCP protocol keep alive (SO_KEEPALIVE) option on.
Duration between two keepalive transmissions in idle condition (TCP protocol default is 2h).
Duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received (TCP protocol default is 1s).
Attaches client to specified connected socket.
Socket to attach to.
Target host used for SSL negotiation
Attaches client to specified connected socket.
Socket to attach to.
Attaches client to specified connected socket.
Socket to attach to.
If true starts SSL negotiation (Please use to specify ).
Establishes connection to a remote server.
The name or IP address of the remote server.
The port number of the remote server.
Creates SSL connection when set to true.
Establishes connection to a remote server. You can use when SSL connection is needed.
The name or IP address of the remote server.
The port number of the remote server.
Establishes connection to a remote server using SSL.
The name or IP address of the remote server.
The port number of the remote server.
Establishes connection to a remote server.
IP address.
The port number of the remote server.
Creates SSL connection when set to true.
Establishes connection to a remote server.
Network endpoint (IP address and port) of the connection.
Creates SSL connection when set to true.
Begins an asynchronous request for a remote server connection.
Network endpoint (IP address and port) of the remote server.
Creates SSL connection when set to true.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using SSL.
The name or IP address of the remote server.
The port number of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using SSL.
The name or IP address of the remote server.
The port number of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection. You can use when SSL connection is needed.
The name or IP address of the remote server.
The port number of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection.
The name or IP address of the remote server.
The port number of the remote server.
Creates SSL connection when set to true.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection.
The name or IP address of the remote server.
The port number of the remote server.
Creates SSL connection when set to true.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Ends a pending asynchronous connection request.
Object that stores state information and any user defined data for this asynchronous operation.
Sends specified byte array to the server.
Byte array to send.
Releases all resources acquired by this object. Closes connection, without issuing any quit commands.
Indicates if invoked by Dipsose method.
Releases all resources acquired by this object. Closes connection, without issuing any quit commands.
Helper class for accessing DNS.
Creates new DnsHelper object instance using default DNS address address and default port.
Creates new DnsHelper object instance using specified DNS server address and default port.
DNS server address.
Creates new DnsHelper object instance using specified DNS server address and port.
DNS server address.
DNS server port.
Gets SMTP servers for specified domain or email address.
This method searches DNS MX records. Servers are sorted by priority, first being the highest.
Domain or email address to search SMTP servers for.
List of the SMTP servers.
Gets highest priority SMTP server for specified domain or email address.
This method searches DNS MX records.
Domain or email address to search SMTP servers for.
Highest priority SMTP server.
Represents structure of the email stored on the IMAP server.
You can use or methods to get the structure of the specified emails.
Gets UID of this message assigned by an IMAP server.
Gets message number assigned by an IMAP server.
Gets the object representing 'text/plain' body of this email message. May be null if no text/plain data is present.
You can use or to get the part's content.
Gets the object representing 'text/html' body of this email message. May be null if no HTML data is present.
You can use or to get the part's content.
Gets the object representing 'text/rtf' or 'application/rtf' body of this email message. May be null if no RTF data is present.
You can use or to get the part's content.
Gets the list of all visual elements in this email message.
E.g. Images embedded inside HTML email.
You can use or to get the part's content.
Gets the list of all non visual elements in this email message.
E.g. Attached data files.
You can use or to get the part's content.
Gets the list of alternative elements in this email message.
You can use or to get the part's content.
Gets the list of all attachments in this email message.
Including , and .
You can use or to get the part's content.
Gets the list of all structures representing appointments in this email message.
Gets the list of all structures representing vCards in this email message.
Identifies common folders using names and flags returned by or extensions
of method.
Inbox folder ( or name "INBOX").
AllMail folder ( or ).
Drafts folder ().
Important folder ().
Sent folder ().
Spam folder (, ).
Flagged folder ( or ).
Trash folder ().
Important folder ().
Initializes a new instance of the CommonFolders object.
Folder list returned by .
Initializes a new instance of the CommonFolders object.
Folder list returned by .
Specifies if folders should be also recognized by using its names. Default is true.
Finds folder with specified flag.
Flag to search for.
Folder having the specified flag.
Returns all folders.
List of all folders.
Represents how parentheses are used in genereted query.
You can find more details here: IMAP search requires parentheses.
Don't use parentheses at all. This setting may lead to incorrect query being generated.
Parentheses are always used (this affects , , )
Parentheses are used only when nested is used. This is the default setting.
Represents combined information about envelope (subject, from to, ...) and structure (attachments) of the email stored on the IMAP server.
You can use or
methods to get MessageInfos for specified emails.
Gets UID of this message assigned by an IMAP server.
Gets message number assigned by an IMAP server.
Gets object representing raw data received from the IMAP server.
Gets the subject of the message ('Subject' header).
Gets or sets parent message id of the message ('In-Reply-To' header).
Without surrounding brackets (< and >)
Gets or sets id of the message ('Message-ID' header).
Without surrounding brackets (< and >)
Gets the send date of the message ('Date' header).
Gets the author(s) of the message ('From' header).
Gets mailbox of the agent responsible for the actual transmission ('Sender' header).
If 'Sender' is empty you should use property.
'Sender' field is not required if 'From' property contains only one .
'Sender' property is filled when message is from more than one person ('From' contains more than one mailbox).
In such case it is needed to provide information which mailbox is responsible for the actual transmission.
Gets 'Reply-to' field, mailbox(es) to which the author of the message suggests that replies be sent.
Gets 'To' field, address(es) of the primary recipient(s) of the message.
Gets the addresses of others who are to receive the message,
even tough the content of the message may not be directed at them ('CC', Carbon Copy header).
Gets the addresses of others who are to receive the message ('BCC', Blind Carbon Copy header),
tough the content of the message may not be directed at them.
This collection can be modified.
May be empty.
Gets a string representing the internal date of the message (INTERNALDATE).
Gets the internal date of the message (INTERNALDATE).
May be null in case of parsing error.
Gmail provides a thread ID (X-GM-THRID) to associate groups of messages in the same manner as in the Gmail web interface.
The thread ID is a 64-bit unsigned integer.
This property is set only if server advertises extension support.
Gmail provides a unique message ID (X-GM-MSGID) for each email so that a unique message may be identified across multiple folders.
The message ID is a 64-bit unsigned integer.
This property is set only if server advertises extension support.
Size of the message.
Represents expressions that can be used by or methods.
To join several criteria use or .
Creates criterion to find all messages.
New expression.
Creates criterion to find messages that contain the specified string in the envelope structure's SUBJECT field.
Subject fragment to search for.
New expression.
Creates conjunction between expressions (AND).
Criteria to AND.
New expression.
Creates disjunction between two expressions (OR).
First expression.
Second expression.
New expression.
Creates criterion to find messages with UIDs within the specified range.
UID range.
New expression.
List<long> uids = imap.Search().Where(Expression.UID(Range.From(1024)));
Creates criterion to find messages that contain the specified string in the envelope structure's FROM field.
Address to match.
New expression.
Creates criterion to find messages that contain the specified string in the envelope structure's TO field.
Address to match.
New expression.
Creates criterion to find messages that contain the specified string in the envelope structure's CC field.
Address to match.
New expression.
Creates criterion to find messages that contain the specified string in the envelope structure's BCC field.
Address to match.
New expression.
Creates criterion to find messages that do not match the specified search key.
Criterion that must not be matched.
New expression.
Creates criterion to find messages that have specified flag set.
Flag that should be set.
New expression.
Exchange 2007 and 2010 do not support custom flags (keywords).
Creates criterion to find messages that contain the specified string in the body of the message.
Body fragment to search for.
New expression.
Creates criterion to find messages that contain the specified string in the header or body of the message.
Header or Body fragment to search for.
New expression.
Creates criterion to find messages with an [RFC-2822] size larger than the specified number of octets.
Size to match.
New expression.
Creates criterion to find messages with an [RFC-2822] size smaller than the specified number of octets.
Size to match.
New expression.
Creates criterion to find messages whose internal date (disregarding time and timezone) is within the specified date.
In other words, "ON 13-APR-2000" means messages with an INTERNALDATE text which starts with "13-APR-2000",
even if timezone differential from the local timezone is sufficient to move that INTERNALDATE into the previous or next day.
Date to match.
New expression.
Creates criterion to find messages whose [RFC-2822] Date: header (disregarding time and timezone) is within the specified date.
Date to match.
New expression.
Creates criterion to find messages whose internal date (disregarding time and timezone), assigned by an IMAP server, is earlier than the specified date.
Date to match.
New expression.
Creates criterion to find messages whose [RFC-2822] Date: header (disregarding time and timezone) is earlier than the specified date.
Date to match.
New expression.
Creates criterion to find messages whose internal date (disregarding time and timezone), assigned by an IMAP server, is within or later than the specified date.
Date to match.
New expression.
Creates criterion to find messages whose [RFC-2822] Date: header (disregarding time and timezone) is within or later than the specified date.
Date to match.
New expression.
Creates criterion to find messages that have a header with the specified field-name (as defined in [RFC-2822]) and that contains the specified string
in the text of the header (what comes after the colon). If the string to search is zero-length,
this matches all messages that have a header line with the specified field-name regardless of the contents.
Header name.
Header value.
New expression.
Creates criterion to find messages that have specified header.
Does not work with Exchange server.
Header name.
New expression.
Creates criterion to find messages with the specified keyword flag set.
Keyword that should be set.
New expression.
Exchange 2007 and 2010 do not support custom flags (keywords).
Creates criterion to find messages with specified Gmail message id (X-GM-MSGID).
This method can be used only if server advertises extension support.
Gmail's message id.
New expression.
Creates criterion to find messages with specified Gmail message id (X-GM-MSGID).
This method can be used only if server advertises extension support.
Gmail's message id.
New expression.
Creates criterion to find messages with specified Gmail thread id (X-GM-THRID).
This method can be used only if server advertises extension support.
Gmail's thread id.
New expression.
Creates criterion to find messages with specified Gmail thread id (X-GM-THRID).
This method can be used only if server advertises extension support.
Gmail's thread id.
New expression.
Creates criterion to find messages with specified Gmail thread id (X-GM-THRID).
This method can be used only if server advertises extension support.
Gmail's raw search string (e.g. "has:attachment in:unread").
New expression.
Creates criterion to find messages with specified Gmail label (X-GM-LABELS).
This method can be used only if server advertises extension support.
Gmail's label (e.g. @"\Inbox", "Important", "my label").
New expression.
Creates criterion to find messages, that have a message-id header,
that contains specified value (contains the specified string in the text of the header).
If the string to search is zero-length, this matches all messages that have a Message-ID header name regardless of the contents.
Some servers (Yahoo) require the search argument to be in exactly the same format, as the email header value.
It's incorrect behavior, but there is a workaround for it: you can use collection:
IMail email = ...
Expression.MessageId(email.Headers["Message-ID"])
Message id.
New expression.
Represents flag used by IMAP protocol to mark email messages.
Static fields represent most common, system flags.
You can use and to set or remove a flag.
Exchange 2007 and 2010 do not support custom flags (keywords).
Gets \ALL flag. It repesents all messages in the mailbox.
Gets \SEEN flag. Message has been read.
Gets \NEW flag. It represents messages that have the flag set but not the flag. This is functionally equivalent to "(\RECENT \UNSEEN)".
Gets \RECENT flag (don't confuse it with ). Message is "recently" arrived in this mailbox.
This session is the first session to have been notified about this message;
if the session is read-write, subsequent sessions will not see \Recent set for this message.
This flag can not be altered by the client.
Gets \OLD flag. It represents messages that do not have the flag set.
This is functionally equivalent to "NOT \RECENT" (as opposed to "NOT \NEW").
Gets \DRAFT flag. Message has not completed composition (marked as a draft).
Gets \DELETED flag. Message is "deleted" for removal by later EXPUNGE.
Gets \FLAGGED flag. Message is "flagged" for urgent/special attention.
Gets \ANSWERED flag. Message has been answered.
Gets \UNSEEN flag. It represents messages that do not have the flag set.
Gets \UNANSWERED flag. It represents messages that do not have the flag set.
Gets \UNDELETED flag. It represents messages that do not have the flag set.
Gets \UNDRAFT flag. It represents messages that do not have the flag set.
Gets \UNFLAGGED flag. It represents messages that do not have the flag set.
Gets \* flag. It indicates, that it is possible to create new keywords by attempting to store those flags in the mailbox ().
You can use or to do so.
Gets $MDNSent flag. It indicates if Message Disposition Notification (MDN) was sent for particular message.
You can use to check if server supports $MDNSent.
Gets the keyword that specifies that the message was resent to another email address, embedded within or attached to a new message.
This keyword is set by the mail client when it successfully forwards the message to another email address.
Gets the keyword that designates the message as awaiting to be submitted.
This keyword allows storing messages waiting to be submitted in the same mailbox
where messages that were already submitted and/or are being edited are stored.
A message that has both $Submitted and $SubmitPending IMAP keywords set is a message being actively submitted.
Gets the keyword that designates the message as being sent out.
A message that has both $Submitted and $SubmitPending IMAP keywords set is a message being actively submitted.
Gets information if this is a system flag. All system flags begin with "\" character.
Gets the name of this flag. E.g. SEEN, UNFLAGGED.
Gets the full name of this flag. This property includes backslash for system flags E.g. \SEEN, \UNFLAGGED, MYFLAG.
Creates new instance of the Flag object with specified name.
Name of the flag.
Determines whether the specified object is equal to the current one.
Names are compared case insensitive.
The to compare with the current true if the specified object is equal to the current object; otherwise, false.
Determines whether the specified object is equal to the current object.
Names are compared case insensitive.
The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current .
Determines whether two objects are equal.
First object to compare.
Second object to compare.
if the specified objects are equal; otherwise, .
Determines whether two objects are not equal.
First object to compare.
Second object to compare.
if the specified objects are not equal; otherwise, .
Returns property.
property.
Represents IMAP search query. You can use method to create this object.
is default, use method to change the result type.
Sets the result type (message numbers or UIDs) of this search query.
Result type.
This search query object.
Sets the parentheses mode to use when rendering lists.
Parentheses mode.
This search query object.
Forces the use of specified encoding. Some servers do not support this feature.
This method has no effect when server supports UTF8=ACCEPT.
Search parameters encoding.
This search query object.
Forces the client not to use CHARSET command.
Some servers (e.g. Exchange 2007) fail to understand CHARSET command.
This search query object.
Adds where condition to this search.
Use and other methods to create a valid search query.
You can also pass to this method.
Search criteria.
This search query object.
Adds sort criteria to this search.
Use and other class properties to create a valid sort expression.
Not all servers support . You can check which extensions remote server supports using method.
Sort criteria.
This search query object.
Issues the search query and retrieves UIDs or message numbers of messages, that match the search criteria, using server-side searching.
List of UIDs or numbers.
Issues the search query and retrieves UIDs or message numbers of messages, that match the search criteria, using server-side searching.
Search query.
List of UIDs or numbers.
Represents IMAP threading query. You can use method to create this object.
is default, use method to change the result type.
Sets threading method. You can use method to get all methods supported by remote server.
Threading method remote server should use.
This threading query object.
Sets the result type (message numbers or UIDs) of this threading query.
Result type.
This threading query object.
Forces the use of specified encoding.
Search parameters encoding.
This threading query object.
Adds search criteria to this threading query.
Use and other methods to create a valid search query.
You can also pass to this method.
Search criteria. Use to join several criterions.
This threading query object.
Issues the threading query and retrieves results, that match the search criteria, using server-side threading.
List of message threads.
Issues the threading query and retrieves results, that match the search criteria, using server-side threading.
Threading query.
List of message threads.
Represents flag used by IMAP protocol to mark folders.
Static fields of this class represent most common flags (e.g. , , ...).
"\Inbox" flag used by XLIST command.
"\AllMail" flag used by XLIST command.
"\Important" flag used by XLIST command.
"\Spam" flag used by XLIST command.
"\Starred" flag used by XLIST command.
This folder presents all messages in the user's message store (\All).
Implementations MAY omit some messages, such as, perhaps, those in \Trash and \Junk.
When this special use is supported, it is almost certain to represent a virtual folder.
This folder is used to archive messages (\Archive).
The meaning of an "archival" folder 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.
This folder is used to hold draft messages - typically, messages that are being composed but have not yet been sent (\Drafts).
In some server implementations, this might be a virtual folder,
containing messages from other folders that are marked with the message flag.
Alternatively, this might just be advice that a client put drafts here.
This folder presents all messages marked in some way as "important" (\Flagged).
When this special use is supported, it is likely to represent a virtual folder collecting messages (from other folders)
that are marked with the "\Flagged" message flag.
This folder is where messages deemed to be junk mail are held (\Junk).
Some server implementations might put messages here automatically.
Alternatively, this might just be advice to a client-side spam filter.
This folder is used to hold copies of messages that have been sent (\Sent).
Some server implementations might put messages here automatically.
Alternatively, this might just be advice that a client save sent messages here.
This folder is used to hold messages that have been deleted or marked for deletion (\Trash).
In some server implementations, this might be a virtual folder, containing messages from other folders.
The presence of this attribute indicates that the folder has child folders that are accessible to the user (\HasChildren).
RFC 3348
The presence of this attribute indicates that the folder has NO child mailboxes that are accessible to the user.
If a folder has the attribute, the
attribute is redundant and SHOULD be omitted. (\HasNoChildren).
RFC 3348
It is not possible for any child levels of hierarchy to exist under this name;
no child levels exist now and none can be created in the future (\Noinferiors). This flag also implies .
It is not possible to use this name as a selectable folder (\Noselect).
Indicates that a folder name does not refer to an existing mailbox (\NonExistent). This flag also implies .
Indicates that a folder is remote folder. (\Remote).
Indicates that a folder is subscribed. (\Subscribed).
The folder has been marked as "interesting" by the server;
The folder probably contains messages that have been added since the last time the folder was selected -or-
has a non-zero RECENT message count. (\Marked).
The folder has been marked as "uninteresting" by the server;
The folder does not contain any additional messages since the last time the folder was selected -or-
has a zero RECENT message count. (\Unmarked).
Represents IMAP folder (mailbox) info.
INBOX name is case insensitive, all other names may be case sensitive.
Gets the full folder name.
Gets the name of the last (deepest) path level name.
Gets the folder path separator character.
Gets flags associated with this folder.
Gets the boolean value indicating, if this instance is INBOX folder.
Gets the parent of this folder.
Gets the direct sub folders of this folder.
Gets the value indicating if you can select this folder. (Searches for or flag)
Gets the value indicating if this folder has children.
or flag results in false, in true, null otherwise.
Returns folder name as sent by the server.
UTF7 encoded folder name.
Returns property.
property.
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes (<0),
follows (>0), or occurs in the same position (=0) in the sort order as the other object.
An object to compare with this instance.
A value that indicates the relative order of the objects being compared.
Indicates whether the current object is equal to another object of the same type.
true if the current object is equal to the parameter; otherwise, false.
An object to compare with this object.
Determines whether the specified object is equal to the current object.
The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current object.
Determines whether two objects are equal.
First object to compare.
Second object to compare.
if the specified objects are equal; otherwise, .
Determines whether two objects are not equal.
First object to compare.
Second object to compare.
if the specified objects are not equal; otherwise, .
Represents folder status: message counts, available flags.
Returned by , , , , , and updated be all other commands.
Represents event that is fired when object is updated.
Gets the name of the folder (mailbox).
Gets a boolean value indicating if the folder (mailbox) is read only.
Gets a boolean value indicating if custom flags (keywords) can be created in the folder (mailbox).
Internally it checks if collection contains .
Gets a boolean value indicating if ($MDNSent) is supported.
Internally it checks if collection contains or returns true.
Gets total message count in the folder (mailbox) (EXISTS).
Gets number of messages with flag set (RECENT).
Gets numbers of messages that have been permanently removed from the folder (mailbox).
Gets the unique identifier validity value.
Any change of unique identifiers between sessions MUST be detectable using the change of UIDVALIDITY.
If unique identifiers from an earlier session fail to persist in this session,
the UIDVALIDITY value MUST be greater than the one used in the earlier session.
Gets the next unique identifier value.
The next unique identifier value is the predicted value that will be assigned to a new message in the folder (mailbox).
Unless the unique identifier validity () also changes , the next unique identifier value
MUST NOT change unless new messages are added to the mailbox;
and the next unique identifier value
MUST change whenever new messages are added to the mailbox, even if those new messages are subsequently deleted.
The next unique identifier value is intended to provide a means for a client to determine whether
any messages have been delivered to the mailbox since the previous time it checked this value.
Gets the message sequence number of the first unseen message in the folder (OK [UNSEEN <n>])
If it's null client can not make any assumptions about the first unseen message, and needs to issue a with if it wants to find it.
Gets the list of flags available in the folder.
Gets the list of the known flags that can be change permanently.
Gets boolean value indicating if all flags are permanent (no PERMANENTFLAGS response received from the IMAP server).
Gets the list of server alerts (indicated by [ALERT] keyword).
Gets the value indicating that requests are being throttled.
In this case, your application should back off and perform fewer requests for that user.
The selected mailbox is supported by a mail store that does not support persistent UIDs; that is,
UIDVALIDITY will be different each time the mailbox is selected.
Consequently, APPEND or COPY to this mailbox will not return an APPENDUID or COPYUID response code.
Represents event arguments.
Represents Gmail labels associated with an email message.
Gets UID of this message assigned by an IMAP server.
Gets message number assigned by an IMAP server.
Gets Gmail labels associated with the specified message.
Represents IMAP search criteria.
Use one of the static methods to create classes implementing this interface (e.g. or ).
Renders current criteria object to specified command.
Command to render on.
Returns true if this criterion requires only ASCII characters to be rendered.
True if this criterion requires only ASCII characters to be rendered, false otherwise.
Represents client identification information used by ID command ()
Gets or sets name of the program.
Gets or sets version number of the program.
Gets or sets name of the operating system.
Gets or sets version of the operating system.
Gets or sets vendor of the program.
Gets or sets support URL for the program.
Gets or sets contact email for the program.
IMAP client implementation.
It allows listing, moving, copying, downloading, uploading and deleting emails from IMAP servers.
Default IMAP protocol port (143).
If you need to use different port please use port parameter in or method.
Default IMAP protocol over SSL port (993).
If you need to use different port please use port parameter in or method.
Gets or set the length of the generated unique command identifier.
Represents client information send to the server on connection using ID command ().
Gets the server greeting (initial response).
Gets the server ID information.
Gets the status of the currently selected folder.
Gets IMAP protocol configuration.
Initializes new instance of the Imap class.
Initializes new instance of the Imap class.
Address family.
Connects to IMAP server on port 143. Use when SSL connection is needed.
Target host name or IP address.
DNS resolving error, connection error.Initial error response.
Connects to IMAP server using SSL on port 993.
Target host name or IP address.
DNS resolving error, connection error.Initial error response.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Sends 'STARTTLS' command and initializes SSL connection (if required issues CAPABILITY command afterwards).
Not all servers support . You can check which extensions remote server supports using method.
Throws on error response.
Logs user in using best method available.
When no AUTH capability is found, this method switches to SSL () and tries again.
User's login.
User's password.
Throws on error response.
Logs user in using LOGIN command.
When LOGIN command is disabled by including the LOGINDISABLED capability this method tries to log-in using .
Unless SSL connection is used this method sends the password in clear text.
You can check which authentication methods remote server supports using method.
User's login.
User's password.
Throws on error response.
Sends PROXYAUTH command. Allows an authorised administrator to proxy into any user's mailbox.
PROXYAUTH is not a standard IMAP command and your server may reject it.
You can try in such case.
User mailbox to access.
Logs user in using AUTHENTICATE PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
User's password.
Throws on error response.
Logs user in using AUTHENTICATE PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
Administrator's user.
Administrator's password.
Throws on error response.
Logs user in using AUTHENTICATE CRAM-MD5 command. This method does NOT send the password in clear text.
You can check which authentication methods remote server supports using method.
User's login.
User's password.
This command is unnecessary if you are using SSL, use method instead.
Throws on error response.
Logs user in using AUTHENTICATE DIGEST-MD5 command. This method does NOT send the password in clear text.
You can check which authentication methods remote server supports using method.
User's login.
User's password.
Throws on error response.
Logs user in using AUTHENTICATE DIGEST-MD5 command. This method does NOT send the password in clear text.
You can check which authentication methods remote server supports using method.
User's login.
User's password.
Host and service name (host ["/" service-name]) part of digest-uri parameter, if null realm is used.
Throws on error response.
Logs user in using mechanism. Target will be constructed as "imap/" + TargetHost name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "imap/" + TargetHost name.
Mechanism to use.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
Indicates the service principal name (SPN) of the destination server. Default is "imap/" + fully qualified target name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "imap/" + TargetHost name.
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Indicates the service principal name (SPN) of the destination server. Default is "imap/" + fully qualified target name.
Throws on error response.
Logs user in using AUTHENTICATE XOAUTH command. This method does NOT send the password.
You can use class to create the key.
You can check which authentication methods remote server supports using method.
XOAuth key. The key will be encoded using BASE64. You can use method to create this key.
Throws on error response.
Logs user in using AUTHENTICATE XOAUTH2 command. This method does NOT send the password.
You can use DotNetOpenAuth to create the key.
You can check which authentication methods remote server supports using method.
User's login (email address).
OAuth 2.0 access token.
Throws on error response.
Sends LOGOUT command. Releases all resources acquired by this object.
Sends LOGOUT command. Releases all resources acquired by this object.
If true throws on error response to LOGOUT command.
Sends command and waits for the server response.
Most commands have their own specialized methods in this class, you should probably use them instead.
Command e.g. "NOOP".
Throws on error response.IMAP response object.
Sends command and waits for the server response.
Most commands have their own specialized methods in this class, you should probably use them instead.
Command e.g. "NOOP".
If true throws on error response.
IMAP response object.
Receives the response ending with specified request tag.
Request tag
IMAP response object.
Sends CAPABILITY command. Consider using , or methods as they are faster.
Throws on error response.Server's capability list.
Lists extensions supported by the remote server (e.g. , , )
Extensions supported by remote server.
Lists authentication methods supported by the remote server.
Authentication methods supported by remote server.
Lists threading methods supported by the remote server.
Authentication methods supported by remote server.
Gets quotas for specified folder.
Not all servers support , you can check which extensions remote server supports using method.
Folder name.
Quotas for specified folder.
Gets quotas for specified folder.
Not all servers support , you can check which extensions remote server supports using method.
Folder name.
Quotas for specified folder.
Gets quota with specified name.
Not all servers support , you can check which extensions remote server supports using method.
Name of the quota.
Quota with specified name.
Selects 'INBOX' as a current folder (mailbox) so that messages inside can be accessed.
Select command will remove the flag since the folder has now been viewed
(This is not the same as the IMAP flag).
Status of the folder (mailbox). It can be updated by subsequent commands or other commands.
Selects specified folder (mailbox) as the current folder so that messages inside can be accessed.
Select command will remove the flag since the folder has now been viewed
(This is not the same as the IMAP flag).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder name.
Status of the folder (mailbox). It can be updated by subsequent or other commands.
Selects specified folder (mailbox) as the current folder so that messages inside can be accessed.
Select command will remove the flag since the folder has now been viewed
(This is not the same as the IMAP flag).
If folder.Flags contain this method invokes method.
Folder to select.
Status of the folder (mailbox). It can be updated by subsequent or other commands.
Selects 'INBOX' as a current read-only folder (mailbox) so that messages inside can be accessed.
Examine command will not reset the flag
Status of the folder (mailbox).
Selects specified folder (mailbox) as the current read-only folder so that messages inside can be accessed.
Examine command will not reset the flag
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder name.
Status of the folder (mailbox).
Selects specified folder (mailbox) as the current read-only folder so that messages inside can be accessed.
Examine command will not reset the flag.
If folder.Flags contain this method invokes .
Folder name.
Status of the folder (mailbox).
The STATUS command requests the status of the indicated mailbox.
It does not change the currently selected mailbox, nor does it affect the state of any messages in the queried mailbox (messages don't lose the ) flag.
This command MUST NOT be used as a "check for new messages in the selected mailbox" operation
(You should rather use and or ) or ).
STATUS command is not guaranteed to be fast in its response.
Folder name.
Status information of the specified folder.
The STATUS command requests the status of the indicated mailbox.
It does not change the currently selected mailbox, nor does it affect the state of any messages in the queried mailbox (messages don't lose the ) flag.
This command MUST NOT be used as a "check for new messages in the selected mailbox" operation
(You should rather use and or ) or ).
STATUS command is not guaranteed to be fast in its response.
Folder name.
Status information of the specified folder.
Issues CLOSE command to the server.
Unless Examine was used to open folder, CLOSE command permanently removes all messages that have the flag set from the currently selected folder,
and returns to the authenticated state from the selected state (no folder is selected).
Creates new threading query.
List<> threads = imap.Thread(ThreadMethod.OrderedSubject).Where(Expression.Text("text"));
List<> threads = imap.Thread(ThreadMethod.OrderedSubject).Where(Expression.Text("text")).ResultAs();
Threading method that should be used.
New threading query.
Gets threaded messages, that match specified search criteria, using server-side threading.
Use , and other methods to create a valid search query.
Threading method that should be used.
Search criteria. Use to join several criterions.
List of message threads.
Gets threaded messages, that match specified search criteria, using server-side threading. Uses as method parameter.
Use , and other methods to create a valid search query.
Threading method that should be used.
Search criteria. Use to join several criterions.
List of message threads.
Gets UIDs of all messages in the current folder (mailbox) sorted from oldest to newest. Equivalent to Search(Expression.All()).
UID list sorted from oldest to newest.
Creates new search query.
List<long> uids = imap.Search().Where(Expression.Subject("report")).Sort(SortBy.Date());
List<long> numbers = imap.Search().Where(Expression.Header("Message-ID", "id")).ResultAs();
New search query.
Gets UIDS of all messages in the current folder (mailbox) with specified flag sorted from oldest to newest. Equivalent to Search(Expression.HasFlag(flag))
Flag to search for.
UID list sorted from oldest to newest.
Gets UIDS of all messages in the current folder (mailbox) with specified flag sorted from oldest to newest. Equivalent to Search(Expression.HasFlag(flag))
Flag to search for.
UID list sorted from oldest to newest.
Gets UIDS of all messages that match specified search criteria using server-side searching sorted from oldest to newest.
Use , and other methods to create a valid search query.
You can also pass to this method.
List<long> uids = imap.Search(Expression.And(Expression.Subject("report"), Expression.HasFlag(Flag.Unseen)));
Search criteria. Use to join several criterions.
UID list sorted from oldest to newest.
Gets numbers of all messages in the current folder (mailbox) with specified flag sorted from oldest to newest.
Equivalent to Search().Where(Expression.HasFlag(flag)).ResultsAs(ResultType.Numbers)
Flag to search for.
List of message numbers sorted from oldest to newest.
Gets numbers of all messages that match specified criteria sorted from oldest to newest.
Use , and other methods to create a valid search query.
You can also pass to this method.
List<long> uids = imap.SearchNumber(Expression.And(Expression.Subject("report"), Expression.HasFlag(Flag.Unseen)));
Search criteria. Use to join several criterions
List of message numbers sorted from oldest to newest.
Gets headers of the specified email message from server. Use class to create object. Does not set the .
Unique-id of the message to peek headers for.
Email message headers or null when is incorrect.
Gets headers of the specified email message from server. Use class to create object. Does not set the .
1 based message number.
Email message headers or null when is incorrect.
Gets all headers of the specified email messages from server. Use class to create object.
Does not set the .
Unique-ids of email messages to peek headers for.
List of message data objects containing message headers.
Gets all headers of the specified email messages from server. Use class to create object.
Does not set the .
1 based message numbers.
List of message data objects containing message headers.
Gets all headers of the specified email message from server. Use class to create object.
Unique-id of the message to get headers for.
Email message headers or null when is incorrect.
Gets all headers of the specified email message from server. Use class to create object.
1 based message number.
Email message headers or null when is incorrect.
Gets all headers of the specified email messages from server. Use class to create object.
Unique-ids of email messages to get headers for.
List of message data objects containing message headers.
Gets all headers of the specified email messages from server. Use class to create object.
1 based message numbers.
List of message data objects containing message headers.
Gets specific headers of the specified email message from server.
Unique-id of the message to get headers for.
Headers to get.
Message data object containing specific message headers or null when is incorrect.
Gets specific headers of the specified email message from server.
1 based message number.
Headers to get.
Message data object containing message headers or null when is incorrect.
Gets specific headers of the specified email messages from server.
Unique-ids of email messages to get headers for.
Headers to get.
List of message data objects containing specific messages headers.
Gets specific headers of the specified email messages from server.
1 based message numbers.
Headers to get.
List of message data objects containing specific messages headers.
Gets specific headers of the specified email message from server. Does not set the .
Unique-id of the message to peek headers for.
Headers to get.
Message data object containing specific message headers or null when is incorrect.
Gets specific headers of the specified email message from server. Does not set the .
1 based message number.
Headers to get.
Message data object containing message headers or null when is incorrect.
Gets specific headers of the specified email messages from server. Does not set the .
Unique-ids of email messages to peek headers for.
Headers to get.
List of message data objects containing specific messages headers.
Gets specific headers of the specified email messages from server. Does not set the .
1 based message numbers.
Headers to get.
List of message data objects containing specific messages headers.
Gets specified email message from server. This method in contrast to does not set the .
Use class to create object.
Unique-id of the message to peek.
Email message or null when is incorrect.
Gets specified email message from server. This method in contrast to does not set the .
Use class to create object.
1 based message number.
Email message or null when is incorrect.
Gets specified email message from server. Use class to create object.
This method sets the unless folder is selected with , or .
Unique-id of the message to get.
Email message or null when is incorrect.
Gets specified email message from server. Use class to create object.
This method sets the unless folder is selected with , or .
1 based message number.
Email message or null when is incorrect.
Gets message information for the specified message. Does not set the flag.
Unique-id of the message to get information for.
Message information (including and ) or null when is incorrect.
Gets message information for the specified message. Does not set the flag.
1 based message number.
Message information (including and ) or null when is incorrect.
Gets message information for specified email messages. Does not set the flag.
Unique-ids of email messages to get information for.
Message information (including and )
Gets message information for the specified email messages. Does not set the flag.
UID sequence of email messages to get information for.
Message information (including and )
Gets message information for the specified email messages. Does not set the flag.
1 based message numbers.
Message information (including and )
Gets message information for the specified email messages. Does not set the flag.
Number sequence of email messages to get information for.
Message information (including and )
Gets the envelope (, , ...)
of the specified email message. Does not set the flag.
Unique-id of the message to get envelope for.
Envelope information of the specified message or null when is incorrect.
Gets the envelope (, , ...)
of the specified email message. Does not set the flag.
1 based message number.
Envelope information of the specified message or null when is incorrect.
Gets the envelope (, , ...)
of the specified email messages. Does not set the flag.
Unique-ids of email messages to get envelope for.
Envelope information of the specified messages.
Gets the envelope (, , ...)
of the specified email messages. Does not set the flag.
UID sequence of email messages to get envelope for.
Envelope information of the specified messages.
Gets the envelope (, , ...)
of the specified email messages. Does not set the flag.
1 based message numbers.
Envelope information of the specified messages.
Gets the envelope (, , ...)
of the specified email messages. Does not set the flag.
Number sequence of email messages to get envelope for.
Envelope information for specified messages.
Gets the structure of the specified message.
Unique-id of the message to get structure for.
Structure of the specified message or null when is incorrect.
Gets the structure of the specified message. Does not set the flag.
1 based message number.
Structure of the specified message or null when is incorrect.
Gets the structure of the specified email messages. Does not set the flag.
Unique-ids of email messages to get structure for.
Structure of the specified messages.
Gets the structure of the specified email messages. Does not set the flag.
UID sequence of email messages to get structure for.
Structure of the specified messages.
Gets the structure of the specified email messages. Does not set the flag.
1 based message numbers.
Structure of the specified messages.
Gets the structure of the specified email messages. Does not set the flag.
Number sequence of email messages to get structure for.
Structure of the specified messages.
Gets MIME headers for specified MIME entity using .
MIME entity to get headers for.
Headers of the requested MIME entity. You can use to parse them.
Gets MIME headers for specified MIME entity using .
MIME entity to get headers for.
Headers of the requested MIME entity. You can use to parse them.
Peeks MIME headers for specified MIME entity using .
MIME entity to get headers for.
Headers of the requested MIME entity. You can use to parse them.
Peeks MIME headers for specified MIME entity using .
MIME entity to get headers for.
Headers of the requested MIME entity. You can use to parse them.
Gets data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Gets data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Gets data of the specified part using .
Fills and in case of .
List of MIME entity to get data for.
Gets data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Gets data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Gets data of the specified part using .
Fills and in case of .
List of MIME entity to get data for.
Gets text data of the specified part using . Fills .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Gets text data of the specified part using . Fills .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Gets text data of the specified part using . Fills .
List of MIME entity to get data for.
Gets text data of the specified part using . Fills .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Gets text data of the specified part using . Fills .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Gets text data of the specified part using . Fills .
List of MIME entity to get data for.
Peeks data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Peeks data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Peeks data of the specified part using .
Fills and in case of .
List of MIME entity to get data for.
Peeks data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Peeks data of the specified part using .
Fills and in case of .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Peeks data of the specified part using .
Fills and in case of .
List of MIME entity to get data for.
Peeks text data of the specified part using . Fills .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Peeks text data of the specified part using . Fills .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Peeks text data of the specified part using . Fills .
List of MIME entity to get data for.
Peeks text data of the specified part using . Fills .
MIME entity to get data for.
Part's data -or- null if server responds with NIL response.
Peeks text data of the specified part using . Fills .
MIME entity to get data for.
Number of bytes (decoded) to get.
Part's data -or- null if server responds with NIL response.
Peeks text data of the specified part using . Fills .
List of MIME entity to get data for.
Gets flags for the specified email message from server. Does not set the .
Unique-id of the message to get flags for.
List containing flags of the specified message or null when is incorrect.
Gets flags for the specified email message from server. Does not set the .
1 based message number.
List containing flags of the specified message or null when is incorrect.
Gets flags for the specified email messages from server. Does not set the .
Unique-ids of email messages to get flags for.
List containing flags of the specified messages.
Gets flags for the specified email messages from server. Does not set the .
UID sequence of email messages to get flags for.
List containing flags of the specified messages.
Gets flags for the specified email messages from server. Does not set the .
1 based message numbers.
List containing flags of the specified messages.
Gets flags for the specified email messages from server. Does not set the .
Number sequence of email messages to get flags for.
List containing flags of the specified messages.
Flags the message with specified flag.
Unique-id of the message to flag.
Flag to be added. For specifying system flags you can use static fields e.g. .
List containing flags of the specified message after the change or null when is incorrect.
You can use to check, if selected folder supports custom flags.
Exchange 2007 and 2010 do not support custom flags (keywords).
Flags the message with specified flag.
1 based message number.
Flag to be added. For specifying system flags you can use static fields e.g. .
List containing flags of the specified message after the change or null when is incorrect.
You can use to check, if selected folder supports custom flags.
Exchange 2007 and 2010 do not support custom flags (keywords).
Flags email messages with specified flag.
Unique-ids of email messages to flag.
Flag to be added. For specifying system flags you can use static fields e.g. .
List containing flags of the specified messages after the change.
You can use to check, if selected folder supports custom flags.
Exchange 2007 and 2010 do not support custom flags (keywords).
Flags email messages with specified flag.
1 based message numbers.
Flag to be added. For specifying system flags you can use static fields e.g. .
List containing flags of the specified messages after the change.
You can use to check, if selected folder supports custom flags.
Exchange 2007 and 2010 do not support custom flags (keywords).
Removes specified flag from the message.
Unique-id of the message to remove flag from.
Flag to be removed. For specifying system flags you can use static fields e.g. .
List containing flags of the specified message after the change or null when is incorrect.
Removes specified flag from the message.
1 based message number.
Flag to be removed. For specifying system flags you can use static fields e.g. .
List containing flags of the specified message after the change or null when is incorrect.
Removes specified flag from messages.
Unique-ids of email messages to remove flag from.
Flag to be removed. For specifying system flags you can use static fields e.g. .
List containing flags of the specified messages after the change.
Removes specified flag from messages.
1 based message number.
Flag to be removed. For specifying system flags you can use static fields e.g. .
List containing flags of the specified messages after the change.
Flags message with flag.
Unique-id of the message.
List containing flags of the specified message after the change or null when is incorrect.
Flags message with flag.
1 based message number.
List containing flags of the specified message after the change or null when is incorrect.
Flags message with flag.
Unique-ids of the messages.
List containing flags of the specified messages after the change.
Flags message with flag.
1 based message numbers.
List containing flags of the specified messages after the change.
Removes flag from the message.
Unique-id of the message.
List containing flags of the specified message after the change or null when is incorrect.
Removes flag from the message.
1 based message number.
List containing flags of the specified message after the change or null when is incorrect.
Removes flag from the message.
Unique-ids of the messages.
List containing flags of the specified messages after the change.
Removes flag from the message.
1 based message numbers.
List containing flags of the specified messages after the change.
Gets Gmail labels for the specified email message from server. Does not set the .
You can label message using method.
Unique-id of the message to get Gmail labels for.
List containing Gmail labels of the specified message or null when is incorrect.
Gets Gmail labels for the specified email message from server. Does not set the .
1 based message number.
List containing Gmail labels of the specified message or null when is incorrect.
Gets Gmail labels for the specified email messages from server. Does not set the .
Unique-ids of email messages to get Gmail labels for.
List containing Gmail labels of the specified messages.
Gets Gmail labels for the specified email messages from server. Does not set the .
1 based message numbers.
List containing Gmail labels of the specified messages.
Labels email messages with specified label.
Unique-ids of email messages to label.
Label to be added.
List containing Gmail labels of the specified messages.
Labels email messages with specified label.
1 based message numbers.
Label to be added.
List containing Gmail labels of the specified messages.
Labels email messages with specified labels.
Unique-ids of email messages to label.
Labels to be added.
List containing Gmail labels of the specified messages.
Labels email messages with specified labels.
1 based message numbers.
Labels to be added.
List containing Gmail labels of the specified messages.
Labels the message with specified label.
Unique-id of the message to label.
Label to be added.
List containing Gmail labels of the specified message or null when is incorrect.
Labels the message with specified label.
1 based message number.
Label to be added.
List containing Gmail labels of the specified message or null when is incorrect.
Labels the message with specified labels.
Unique-id of the message to label.
Labels to be added.
List containing Gmail labels of the specified message or null when is incorrect.
Labels the message with specified labels.
1 based message number.
Labels to be added.
List containing Gmail labels of the specified message or null when is incorrect.
Removes specified label from the message.
Unique-id of the message to remove specified label from.
Label to be removed.
List containing Gmail labels of the specified message or null when is incorrect.
Removes specified label from the message.
1 based message number.
Label to be removed.
List containing Gmail labels of the specified message or null when is incorrect.
Removes specified label from messages.
Unique-ids of email messages to remove specified label from.
Label to be removed.
List containing Gmail labels of the specified messages.
Removes specified label from messages.
1 based message number.
Label to be removed.
List containing Gmail labels of the specified messages.
Deletes message specified by the . Issues EXPUNGE command after.
Unique-id of the message to flag.
Deletes message specified by the . Issues EXPUNGE command after.
1 based message number.
Deletes message specified by the . Issues EXPUNGE command after.
Unique-ids of email messages to flag.
Deletes messages specified by the . Issues EXPUNGE command after.
1 based message numbers.
Copies the specified email message to the specified destination folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Unique-id of the message.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied message, if the server supports , null otherwise.
Copies the specified email message to the specified destination folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
1 based message number.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied message, if the server supports , null otherwise.
Copies the specified email message to the specified destination folder (mailbox).
Unique-id of the message.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied message, if the server supports , null otherwise.
Copies the specified email message to the specified destination folder (mailbox).
1 based message number.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied message, if the server supports , null otherwise.
Copies the specified email messages to the specified destination folder (mailbox).
Unique-ids of the messages.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied/moved messages, if the server supports , empty otherwise.
Copies the specified email messages to the specified destination folder (mailbox).
1 based message numbers.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied messages, if the server supports , empty otherwise.
Copies the specified email messages to the specified destination folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Unique-ids of the messages.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied messages, if the server supports , empty otherwise.
Copies the specified email messages to the specified destination folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
1 based message numbers.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied messages, if the server supports , empty otherwise.
Moves the specified email message to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
Unique-id of the message.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied/moved message, if the server supports , null otherwise.
Moves the specified email message to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
1 based message number.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied/moved message, if the server supports , null otherwise.
Moves the specified email message to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
IMAP servers may differ in the separator character used in mailbox folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Unique-id of the message.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied/moved message, if the server supports , null otherwise.
Moves the specified email message to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
IMAP servers may differ in the separator character used in mailbox folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
1 based message number.
Destination folder (mailbox).
Newly assigned unique-id (UID) of the copied/moved message, if the server supports , null otherwise.
Moves the specified email messages to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
IMAP servers may differ in the separator character used in mailbox folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Unique-ids of the messages.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied/moved messages, if the server supports , empty otherwise.
Moves the specified email messages to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
IMAP servers may differ in the separator character used in mailbox folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
1 based message numbers.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied/moved messages, if the server supports , empty otherwise.
Moves the specified email messages to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
Unique-ids of the messages.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied/moved messages, if the server supports , empty otherwise.
Moves the specified email messages to the specified destination folder (mailbox). Uses copy and delete, if is unavailable.
1 based message numbers.
Destination folder (mailbox).
Newly assigned unique-ids (UIDs) of the copied messages, if the server supports , empty otherwise.
Lists all namespaces available for this user.
Not all servers support . You can check which extensions remote server supports using method.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder list.
Subscribes user to specified folder.
Folder name to subscribe to.
Subscribes user to specified folder.
Folder name to subscribe to.
Unsubscribes user from specified folder.
Folder name to unsubscribe from.
Unsubscribes user from specified folder.
Folder name to unsubscribe from.
Lists all folders (mailboxes) user is subscribed to.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder list.
Lists folders (mailboxes) user is subscribed to, starting from specified folder.
Parent folder (mailbox) to start search from.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder list.
Lists folders (mailboxes) user is subscribed to, starting from specified folder.
Parent folder (mailbox) to start search from.
Folder list.
Lists all folders (mailboxes) starting from root.
Folders starting with '#' are usually shared between users. You can use to obtain information about shared folders.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder list.
Lists all folders (mailboxes) starting from root.
Folders starting with '#' are usually shared between users. You can use to obtain information about shared folders.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Sub folder level to download.
Folder list.
Lists all folders (mailboxes) under specified folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Parent folder (mailbox) to start search from.
Folder list.
Lists all folders (mailboxes) under specified folder (mailbox).
Parent folder (mailbox) to start search from.
Folder list.
Lists all folders (mailboxes) under specified folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Parent folder (mailbox) to start search from.
Indicates how many sub folder levels should be downloaded.
Folder list.
Lists all folders (mailboxes) under specified folder (mailbox).
Parent folder (mailbox) to start search from.
Indicates how many sub folder levels should be downloaded.
Folder list.
Creates a folder (mailbox) with the given name.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder name.
Permanently removes a folder (mailbox) with the given name.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
The DELETE command MUST NOT remove inferior hierarchical names. For example, if a mailbox "foo" has an inferior "foo.bar"
(assuming "." is the hierarchy delimiter character), removing "foo" MUST NOT remove "foo.bar".
It is an error to attempt to delete a name that has inferior hierarchical names and also has the \Noselect mailbox name attribute.
It is permitted to delete a name that has inferior hierarchical names and does not have the \Noselect mailbox name attribute.
In this case, all messages in that mailbox are removed, and the name will acquire the \Noselect mailbox name attribute.
Folder name.
Permanently removes a folder (mailbox) with the given name.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
The DELETE command MUST NOT remove inferior hierarchical names. For example, if a mailbox "foo" has an inferior "foo.bar"
(assuming "." is the hierarchy delimiter character), removing "foo" MUST NOT remove "foo.bar".
It is an error to attempt to delete a name that has inferior hierarchical names and also has the \Noselect mailbox name attribute.
It is permitted to delete a name that has inferior hierarchical names and does not have the \Noselect mailbox name attribute.
In this case, all messages in that mailbox are removed, and the name will acquire the \Noselect mailbox name attribute.
Folder name.
Changes the name of a folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Existing folder name.
New folder name.
Changes the name of a folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Existing folder name.
New folder name.
Lists folder tree roots starting from root.
In contrast to GetFolders method only roots are returned. You can use to access sub folders.
Indicates how many sub folder levels should be downloaded.
Folder tree roots (use to access sub folders).
Lists folder tree roots starting from specified folder (mailbox).
In contrast to GetFolders method only roots are returned. You can use to access sub folders.
Parent folder (mailbox) to start search from.
Indicates how many sub folder levels should be downloaded.
Folder tree roots (use to access sub folders).
Lists folder tree roots starting from specified folder (mailbox).
In contrast to GetFolders method only roots are returned. You can use to access sub folders.
Parent folder (mailbox) to start search from.
Indicates how many sub folder levels should be downloaded.
Folder tree roots (use to access sub folders).
Permanently removes all sub folders and folder (mailbox) with the given name.
Folder name to remove.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Permanently removes all sub folders and folder (mailbox) specified.
Folder to remove.
Uploads message to specified folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder to upload.
Message to upload.
Additional message information (e.g. flags, internal date, Gmail labels).
Unique-id of the uploaded message (Null if server does not support ).
Uploads message to specified folder (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder name to upload to.
Message to upload.
Unique-id of the uploaded message (Null if server does not support ).
Uploads message to specified folder (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Unique-id of the uploaded message (Null if server does not support ).
Folder name to upload to.
Message to upload.
Uploads specified email message to the specified folder (mailbox).
IMAP servers may differ in the separator character used in folder hierarchy paths.
Common separator chars are '.' and '/'. For example: "Inbox/Folder" or "Inbox.Folder".
Folder to upload.
Message to upload.
Additional message information (e.g. flags, internal date, Gmail labels).
Unique-id of the uploaded message (Null if server does not support ).
Uploads specified email message to the specified folder (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
Folder to upload to.
Message to upload.
Unique-id of the uploaded message (Null if server does not support ).
Uploads message to specified folder (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
Unique-id of the uploaded message (Null if server does not support ).
Folder to upload to.
Message to upload.
Uploads message to specified folder (mailbox).
Folder to upload.
Message to upload.
Additional message information (e.g. flags, internal date).
Unique-id of the uploaded message (Null if server does not support ).
Uploads message to specified folder (mailbox).
Folder to upload.
Message to upload.
Additional message information (e.g. flags, internal date).
Unique-id of the uploaded message (Null if server does not support ).
Uploads specified email message to the current folder (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
Message to upload.
Unique-id of the uploaded message (Null if server does not support ).
Uploads specified email message to the current (mailbox). Uploaded message has set.
Internal date of the resulting message is set to the current date and time.
Unique-id of the uploaded message (Null if server does not support ).
Message to upload.
Uploads specified email message to the current (mailbox).
Message to upload.
Additional message information (e.g. flags, internal date).
Unique-id of the uploaded message (Null if server does not support ).
Uploads specified email email message to the current (mailbox).
Message to upload.
Additional message information (e.g. flags, internal date).
Unique-id of the uploaded message (Null if server does not support ).
Sends IDLE command.
This method hangs until server announces new event in current folder or until command is issued.
Not all servers support . You can check which extensions remote server supports using method.
New folder status.
Sends IDLE command.
This method hangs until server announces new event in current folder or until command is issued.
Not all servers support . You can check which extensions remote server supports using method.
Specifies the timeout after which IDLE command is reissued (this prevents server from disconnecting).
New folder status.
Stops IDLE command started by or method.
This method is thread-safe.
Sends NOOP command to the server. It does nothing and always succeeds.
Can be used as a periodic poll for new messages - updates returned by last , command.
Can also be used to reset any inactivity auto-logout timer on the server.
Throws on error response.
Turns compression on. Uses deflate algorithm.
Represents authentication methods supported by the remote server.
You can use method to obtain the list of all methods supported by the remote server.
AUTH=LOGIN authentication method.
AUTH=PLAIN authentication method.
AUTH=CRAM-MD5 authentication method.
AUTH=DIGEST-MD5 authentication method.
AUTH=XOAUTH authentication method.
AUTH=XOAUTH2 authentication method.
AUTH=NTLM authentication method.
AUTH=GSSAPI authentication method.
Represents IMAP AUTH extension.
Authentication method.
Represents configuration.
Gets or sets a value indicating if mailbox (folder) names should be always quoted.
Default is false. Coremail servers default is true.
Gets or sets a value indicating if mailbox (folder) containing double quotes should use literals.
Default is false. Exchange servers default is true.
Gets or sets a value indicating \r\n isa always concatenated when sending data to server, so it is written in a single write operation.
Default is false. Yahoo servers default is true.
Gets or sets value indicating if AUTHENTICATE command should be retried without initial response on failure.
Default is true.
Gets or sets the boolean value indicating if AUTHENTICATE command should be used without initial response only.
Default is false.
Gets or sets text encoding used when providing credentials.
Represents extensions supported by the remote server.
You can use method to obtain the list of all extensions supported by the remote server.
Represents IMAP4rev1 extension.
Represents IDLE extension. You can use or to wait for mailbox changes.
(RFC 2177)
Represents UIDPLUS extension. You can use return value of , , copy and move methods.
(RFC 4315)
Represents XLIST extension. You can class to get common folder names (e.g. Spam, Sent items).
Represents SORT extension. You can use to sort search results.
(RFC 5256)
Represents AUTH extension. You can use to obtain all authentication methods supported by the remote server.
Represents STARTTLS extension. You can use to secure the connection.
(RFC 2595)
is disabled.
is going to invoke method.
(RFC 2595)
Represents NAMESPACE extension. You can use method.
(RFC 2342)
Represents QUOTA extension. You can use and methods.
(RFC 2087).
Represents Gmail X-GM-EXT-1 extensions: X-GM-RAW, X-GM-MSGID, X-GM-THRID, X-GM-LABELS.
,
(http://code.google.com/apis/gmail/imap/)
Represents ID extension.
(RFC 2971)
Represents SASL-IR (SASL initial client response) extension.
Servers that support this extension will accept an optional initial client response with the AUTHENTICATE command for any SASL mechanisms which support it.
(RFC 4959)
Represents SPECIAL-USE extension.
Servers that support this extension will return new folder flags identifying Special-Use folders.
(RFC 6154)
Represents MOVE extension. Allows using MOVE command for and methods.
(RFC 6851)
Represents ESEARCH extension. Extension to SEARCH command for controlling what kind of information is returned.
(RFC 4731)
Represents MULTISEARCH extension. Extension to SEARCH command for multi-folder (multi-mailbox) searching.
(RFC 6237)
Represents COMPRESS extension.
Servers that support this extension allow communication compression. You can turn compression on by using method.
(RFC 4959)
Represents UTF8 extension.
(RFC 6855)
Represents an IMAP server error response, that contains REFERRAL information.
Gets IMAP URL from REFFERAL response code.
Gets the server address extracted from IMAP URL from REFFERAL response code.
Initializes new instance of ImapResponseException with serialized data.
Serialized object data.
Contextual information.
Represents IMAP server response.
Gets the status line (including , and ) e.g.: "A0001 OK LOGOUT completed".
Gets tag expected for this response.
Gets status of this response.
Gets response message (without and ) e.g.: "LOGOUT completed".
Gets all lines of the response except the status line as strings.
Gets all lines of the response except the status line.
Returns a string that represents the current .
A string that represents the current .
Represents an IMAP server error response.
Gets IMAP server response that caused this exception to be thrown.
Initializes new instance of ImapResponseException with serialized data.
Serialized object data.
Contextual information.
Represents a status of a .
Negative status ("NO" response).
Positive status ("OK" response).
Error status ("BAD" response).
Requires more data status ("+" response).
BYE response received, server failure occured, connection was closed by the server ("* BYE" response).
PREAUTH response received, possible only at connection startup greeting.
It indicates that the connection has already been authenticated by external means
Represents IMAP SORT extension.
SORT version.
Represents IMAP THREAD extension.
Authentication method.
Represents IMAP UTF8 extension.
UTF8 support version.
Represents UTF8 support version supported by the remote server.
AUTH=ONLY authentication method.
AUTH=ACCEPT authentication method.
This class is for internal use only. Please do not use this class directly.
Represents IMAP sort criteria.
Renders current sorter object to specified command list.
Command list to render on.
Represents data for specific message downloaded from IMAP server.
You can use on to create object.
Gets the UID of the message on the IMAP server.
Gets the message number on the IMAP server.
Eml data requested. You can use on this property to create object.
Represents flags associated with an email message..
Gets UID of this message assigned by an IMAP server.
Gets message number assigned by an IMAP server.
Gets the boolean value indicating if message was seen or not. Searches for .
Gets flags associated with the specified message.
Represents information about envelope (subject, from to, ...) of the email stored on the IMAP server.
You can use and methods to get information about specified emails.
Gets UID of this message assigned by an IMAP server.
Gets message number assigned by an IMAP server.
Gets a structure of this email message. Here you'll find information about , plain text and message parts.
Gets an envelope of this email message Here you'll find basic information like , and addresses.
Gets flags assigned to this email message on an IMAP server.
Gets Gmail labels assigned to this email message on the IMAP server.
Represents message thread.
Either or property is set.
You can decide which by using method.
The situations in which both this properties are null are also valid - it means that the root message does not match the search criteria, but it's do.
Gets UID of the message that is the root of this thread.
This property is set by default.
It may be null if is specified using method.
Gets message number of the message that is the root of this thread.
This property is null unless is specified using method.
Gets child threads of this thread.
Returns text representation of this object.
Text representation of this object.
Base class for classes representing MIME tree parts stored on an IMAP server.
Gets the id of this part.
Gets the unique id (UID) of the message, that this part belongs to.
Gets the message number of the message, that this part belongs to.
Gets the content type of this part.
is assumed when is false.
Gets boolean value indicating, if content-type was specified explicitly for this entity.
Represents data part of a mime tree stored on an IMAP server.
You can obtain instance of this class using or .
You can download actual content of such part using following methods:
,
,
.
Gets a boolean value indicating if is set.
Gets the suggested file name of this part. May be null or empty.
Consider using as it is guaranteed to contain valid file name.
It is important that you should not blindly use the suggested filename.
The suggested filename SHOULD be checked (and possibly changed) to see that it conforms to local file system conventions,
does not overwrite an existing file, and does not present a security problem.
Gets the safe file name of this part. All special characters and path are removed.
If the file name is not specified ( is or empty) generates random file name in format "att_d1be267b623941159a159158138a636e.dat".
Gets the content transfer encoding of this part.
Content id of the part. Without enclosing '<' and '>'.
You can use to extract content id from cid url.
E.g. 01@mobile
Gets the size of this part in bytes.
Note that this size is the size in attachment's transfer encoding and not the resulting size after any decoding.
This means that, for example, base64 encoded files, are in fact 37% smaller than the value of this property.
Gets the size of this part in bytes.
Note that this size is the size in attachment's transfer encoding and not the resulting size after any decoding.
This means that, for example, base64 encoded files, are in fact 37% smaller than the value of this property.
Gets data represented by this part.
You can use or to fill this property.
May be null, if server responds with NIL response.
Estimates actual attachment size.
Bases on assumption that , and encoded files are 37% smaller.
Estimated size of the attachment.
Estimates actual attachment size.
Bases on assumption that , and encoded files are 37% smaller.
Estimated size of the attachment.
Represents data part of a mime tree stored on an IMAP server.
You can obtain instance of this class using or .
You can download actual content of such part using one of following methods:
,
,
.
Gets the charset of this part.
Gets the result of matching to .
Gets the encoding of this part.
Gets text represented by this part.
You can use or to fill this property.
May be null, if server responds with NIL response.
Represents part of a mime tree containing text/calendar data stored on an IMAP server. You can download actual content of such part using one .
Gets the appointment, remember to use before accessing this property.
Represents part of a mime tree containing text/vcard data stored on an IMAP server. You can download actual content of such part using one .
Gets the vcard, remember to use before accessing this property.
Represents IMAP namespace info.
Namespace name.
Path separator character.
Represents IMAP server namespaces available for currently logged in user.
Personal namespaces.
Other users' namespace.
Namespaces shared with other users.
Represents quota. Quota can have several limits and can be shared by several folders (RFC 2087).
Quota root name.
Gets all limits in this quota.
You can use and properties to easily access common limits.
Gets STORAGE limit (sum of messages' RFC822.SIZE, in units of 1024 octets) or null if not found.
Gets MESSAGE limit (number of messages) or null if not found.
Represents quota limit.
Limit name (e.g. STORAGE, MESSAGE).
STORAGE - Sum of messages' RFC822.SIZE, in units of 1024 octets,
MESSAGE - Number of messages
Current usage.
Maximum limit.
Represents a range. You can use , , static methods to create an instance of this class.
Gets range start.
Gets range end.
Gets the information if this object represents empty set. Always returns false.
Creates new range. Consider using or static methods to create an instance of this class.
Range start.
Range end.
Renders this object as a string (3956:3958, 3956:*, *, 3958).
Object rendered as a string.
Creates new range with start and end defined.
Range start.
Range end.
New range.
Creates new range with only start defined.
It always includes the UID of the last message in the mailbox,
even if is higher than any assigned UID value (RFC 3501 6.4.8).
Range start.
New range.
Creates new range with only one element defined.
One element.
New range.
Creates new range representing last element (*).
New range.
Returns a string that represents the current .
A string that represents the current .
Representing raw data received from the IMAP server.
Gets raw .
Gets raw .
Gets raw .
Gets raw .
Defines result type for IMAP searches.
Result should be returned in form of unique message ids.
Result should be returned in form of message numbers.
Represents IMAP sequence set (collection of elements).
Gets all ranges represented by this sequence.
Creates new sequence containing specified ids. IDs are sorted and combined using instances.
IDs.
Creates new sequence containing specified id.
ID.
Creates new sequence containing specified range.
Range.
Creates new sequence containing specified ranges.
Ranges.
Simple IMAP query that can be used instead joining several criteria defined in class.
Messages that contain the specified string in the envelope structure's SUBJECT field.
Messages that contain the specified string in the body of the message.
Messages that contain the specified string in the envelope structure's FROM field.
Messages that contain the specified string in the envelope structure's TO field.
Messages that contain the specified string in the envelope structure's CC field.
Messages that contain the specified string in the envelope structure's BCC field.
Messages with the \Answered flag set.
Messages with the \Flagged flag set.
Messages with the \Deleted flag set.
Messages with the \Draft flag set.
Messages that have the \Recent flag set but not the \Seen flag. This is functionally equivalent to "(RECENT UNSEEN)".
Messages that do not have the \Recent flag set. This is functionally equivalent to "NOT RECENT" (as opposed to "NOT NEW").
Messages that have the \Recent flag set.
Messages that have the \Seen flag set.
Messages that do not have the \Answered flag set.
Messages that do not have the \Deleted flag set.
Messages that do not have the \Draft flag set.
Messages that do not have the \Flagged flag set.
Messages that do not have the \Seen flag set.
Messages with an [RFC-2822] size larger than the specified number of octets.
Messages with an [RFC-2822] size smaller than the specified number of octets.
Renders current criteria object to specified command list.
Command to render on.
Returns true if this criterion requires only ASCII characters to be rendered.
True if this criterion requires only ASCII characters to be rendered, false otherwise.
Represents expressions that can be used by methods.
To join several sort criteria use .
Reverses specified sorter. Descending order is used.
Note: REVERSE only reverses a single criterion, and does not
affect the implicit "sequence number" sort criterion if all
other criteria are identical. Consequently, a sort of
REVERSE SUBJECT is not the same as a reverse ordering of a
SUBJECT sort. This can be avoided by use of additional
criteria, e.g., SUBJECT DATE vs. REVERSE SUBJECT REVERSE
DATE. In general, however, it's better (and faster, if the
client has a "reverse current ordering" command) to reverse
the results in the client instead of issuing a new SORT.
Sort criteria
New sorter.
Returns multiple sort criteria.
Sort criteria to join.
New sorter.
Internal date and time of the message. This differs from the
ON criteria in SEARCH, which uses just the internal date.
New sorter.
Sorts on local part of the first "cc" address.
New sorter.
Sent date and time, as described in section 2.2.
New sorter.
Sorts on local part of the first "From" address.
New sorter.
Size of the message in octets.
New sorter.
Base subject text.
New sorter.
Sorts on local part of the first "To" address.
New sorter.
Status of the specified folder, returned by and methods.
Total message count in the mailbox.
Number of messages with flag set.
Number of messages with flag set.
UIDNEXT: The next unique identifier value.
The next unique identifier value is the predicted value that will be assigned to a new message in the mailbox.
Unless the unique identifier validity () also changes , the next unique identifier value
MUST NOT change unless new messages are added to the mailbox;
and the next unique identifier value
MUST change whenever new messages are added to the mailbox, even if those new messages are subsequently deleted.
The next unique identifier value is intended to provide a means for a client to determine whether
any messages have been delivered to the mailbox since the previous time it checked this value.
UIDVALIDITY: The unique identifier validity value.
Any change of unique identifiers between sessions MUST be detectable using the change of UIDVALIDITY.
If unique identifiers from an earlier session fail to persist in this session,
the UIDVALIDITY value MUST be greater than the one used in the earlier session.
Represents a value indicating how many sub folder levels should be downloaded.
All sub folders should be downloaded.
Only direct subfolders should be downloaded
Represents threading method supported by the remote server.
You can use method to obtain the list of all methods supported by the remote server.
Represemtes THREAD=ORDEREDSUBJECT threading method.
The ORDEREDSUBJECT threading algorithm is also referred to as "poor man's threading".
The searched messages are sorted by base subject and then by the sent date.
The messages are then split into separate threads, with each thread containing messages with the same base subject text.
Finally, the threads are sorted by the sent date of the first message in the thread.
The top level or "root" in ORDEREDSUBJECT threading contains the first message of every thread.
All messages in the root are siblings of each other.
The second message of a thread is the child of the first message, and subsequent messages of the
thread are siblings of the second message and hence children of the message at the root.
Hence, there are no grandchildren in ORDEREDSUBJECT threading.
Children in ORDEREDSUBJECT threading do not have descendants.
Client implementations SHOULD treat descendants of a child in a server response as being siblings of that child.
Represemtes THREAD=REFERENCES threading method.
The REFERENCES threading algorithm threads the searched messages by grouping them together in parent/child
relationships based on which messages are replies to others. The parent/child relationships are built using two methods:
reconstructing a message's ancestry using the references contained within it; and checking the original (not base)
subject of a message to see if it is a reply to (or forward of) another message.
Chooses best threading method available. Returns null when no method is available.
All available methods.
Best threading method or null when no method is available.
Represents information about the email message that is being uploaded (e.g. flags, internal date).
Message flags.
Internal date of the message.
Creates new instance of UploadMessageInfo class.
Sets internal date of the message.
Internal date to set.
Represents account statistics.
You can use to get those information.
Number of messages on server.
Size of all mail messages on the server in octets.
POP3 client implementation.
It allows listing, downloading and deleting emails from POP3 servers.
Default POP3 protocol port (110).
If you need to use different port please use port parameter in or method.
Default POP3 protocol over SSL port (995).
If you need to use different port please use use port parameter in or method.
Gets the server greeting (initial response).
Gets the value that indicates if there was a timestamp in server's greeting.
Usually it means that APOP command () is supported, but not always.
Gets POP3 protocol configuration.
Initializes new instance of the Pop3 class.
Initializes new instance of the Pop3 class.
Address family.
Connects to POP3 server on port 110. Use when SSL connection is needed.
Host name or IP address.
DNS resolving error, connection error.Initial error response.
Connects to POP3 server using SSL on port 995.
Host name or IP address.
DNS resolving error, connection error.Initial error response.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Sends 'STLS' command and initializes SSL connection (issues CAPA command afterwards).
Not all servers support . You can check which extensions remote server supports using method.
Throws on error response.
Sends 'STLS' command and initializes SSL connection (issues CAPA command afterwards).
Not all servers support . You can check which extensions remote server supports using method.
Throws on error response.
Sends command, which expects to receive single-line response, to POP3 server (e.g. "STAT").
Most commands have their own specialized methods in this class, you should probably use them instead.
Command e.g. "STAT".
Throws on error response.Single-line response object.
Sends command, which expects to receive single-line response, to POP3 server (e.g. "STAT").
Some commands have their own specialized methods in this class, you should probably use them instead.
Command e.g. "STAT".
If true throws on error response
Single-line response object.
Sends command, which expects to receive multi-line response, to POP3 server (e.g. "RETR").
Some commands have their own specialized methods in this class, you should probably use them instead.
Command to send e.g. "RETR".
Throws on error response.Multi-line response object.
Sends command, which expects to receive multi-line response, to POP3 server (e.g. "RETR").
Most commands have their own specialized methods in this class, you should probably use them instead.
Command to send e.g. "RETR".
If true throws on error response
Multi-line response object.
Logs user in using best method available.
When no SASL capability is found, this method switches to SSL () and tries again.
User's login.
User's password.
Throws on error response.
Logs user in using USER and PASS commands. This method sends the password in clear text, unless SSL connection is used.
User's login.
User's password.
Throws on error response.
Logs user in using AUTHENTICATE PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
User's password.
Throws on error response.
Logs user in using AUTH PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
Administrator's user.
Administrator's password.
Throws on error response.
Logs user in using AUTH CRAM-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
This command is unnecessary if you are using SSL, use method instead.
Throws on error response.
Logs user in using AUTH DIGEST-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
Throws on error response.
Logs user in using AUTH DIGEST-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
Host and service name (host ["/" service-name]) part of digest-uri parameter, if null realm is used.
"/>
Throws on error response.
Logs user in using mechanism. Target will be constructed as "pop/" + TargetHost name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "pop/" + TargetHost name.
Mechanism to use.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
Indicates the service principal name (SPN) of the destination server. Default is "pop/" + fully qualified target name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "pop/" + TargetHost name.
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Indicates the service principal name (SPN) of the destination server. Default is "pop/" + fully qualified target name.
Throws on error response.
Logs user in using APOP command. This method does NOT send the password in clear text.
User's login.
User's password.
APOP is optional command and a POP3 server does NOT need to support it.
A POP3 server which implements the APOP command will include a timestamp in its banner greeting.
Check property in order to know if server included the timestamp.
Some servers include timestamp, but do NOT support APOP command.
This command is unnecessary if you are using SSL, use method instead.
Throws on error response.When is false.
Logs user in using AUTHENTICATE XOAUTH2 command. This method does NOT send the password.
You can use DotNetOpenAuth to create the key.
You can check which authentication methods remote server supports using method.
User's login (email address).
OAuth 2.0 access token.
Throws on error response.
Gets stat information from server.
Throws on error response.Account statistics.
Deletes message specified by the .
POP3 server does not actually delete the message until successful QUIT command issued by or .
Unique-id of the message to flag.
Throws on error response.Invalid uid provided.
Marks specified message for deletion.
POP3 server does not actually delete the message until successful QUIT command issued by or .
Throws on error response.
Number of the message to delete (starts from 1)
Gets headers of the specified email message from server. Use class to create object.
Throws on error response.Invalid uid provided.
Unique-id of the message to get.
Email message headers.
Gets headers of the specified email message from server. Use class to create object.
Throws on error response.
Number of message to get (starts from 1)
Email message headers.
Gets specified email message from server. Use class to create object.
Throws on error response.Invalid uid provided.
Unique-id of the message to get.
Email message.
Gets specified email message from server. Use class to create object.
Throws on error response.
Number of the message to get (starts from 1).
Email message.
Gets UIDS of all messages.
Throws on error response.UID list.
Sends UIDL command to the pop3 server. Returns a key value collection.
Keys are message numbers (starting from 1), value is a unique-id of the message.
Throws on error response.Key value collection, with message number as key and unique-id as a value
Sends UIDL command to the pop3 server. Returns unique-id for that message.
Message number
Throws on error response.Unique-id for specified email message
Returns the size (in bytes) of all messages. Keys are message numbers (starting from 1), value is the size of the message.
Throws on error response.Key value collection, with message number as key and size as a value
Returns the size (in bytes) of all messages. Keys are message uids, value is the size of the message.
Throws on error response.Key value collection, with message UID as key and size as a value
Returns the size (in bytes) of specified message in bytes.
Unique-id of the message to get.
Throws on error response.Invalid uid provided.Size of the message.
Returns the size (in bytes) of specified message in bytes.
Number of message to get (starts from 1)
Throws on error response.Size of the message.
Sends CAPA command. Retrieves POP3 server capablity list.
Throws on error response.Server's capability list.
Sends NOOP command to the server. It does nothing and always succeeds.
Can be used to reset any inactivity auto-logout timer on the server.
Throws on error response.
Lists extensions supported by the remote POP3 server (e.g. STLS, TOP)
Extensions supported by remote server.
Lists authentication methods supported by the remote POP3 server.
Authentication methods supported by remote server.
Sends QUIT command. Disconnects and releases all resources acquired by this object.
Sends QUIT command. Disconnects and releases all resources acquired by this object.
If true throws on error response to QUIT command.
Represents authentication methods supported by the remote server.
You can use method to obtain the list of all methods supported by the remote server.
USER authentication method.
SASL PLAIN authentication method.
SASL CRAM-MD5 authentication method.
SASL DIGEST-MD5 authentication method.
SASL NTLM authentication method.
SASL GSSAPI authentication method.
APOP authentication method.
Represents configuration.
Gets or sets value indicating if AUTH command should be retried without initial response on failure.
Default is true.
Gets or sets the boolean value indicating if AUTH command should be used without initial response only.
Default is false.
Gets or sets the boolean value indicating if APOP login mechanism can be used by method.
Default is true.
Gets or sets text encoding used when providing credentials.
Represents extensions supported by the remote server.
You can use method to obtain the list of all extensions supported by the remote server.
STLS extension is supported. You can use to secure the connection.
UIDL extension is supported. You can use method.
TOP extension is supported. You can use and method.
LOGIN-DELAY extension.
SASL extension. You can use to obtain all authentication methods supported by the remote server.
USER extension is supported. You can use method.
UTF8 extension. Allows usage of UTF-8 communication between client and server.
(RFC 6856)
Represents POP3 LOGIN-DELAY extension.
Gets the time interval after an "+OK" response to authentication (PASS, APOP, or AUTH command) before another authentication will be accepted.
Represents POP3 server response.
Gets the status line (including and ) e.g.: "+OK Done".
Gets the status of this response.
Gets the response message (without ) e.g.: "Done".
Returns as a line collection.
as a line collection.
Gets the multiline response message (without "-ERR", "+OK" status and ).
Returns a string that represents the current .
A string that represents the current .
Represents an POP3 server error response.
Gets POP3 server response that caused this exception to be thrown.
Initializes new instance of Pop3ResponseException with serialized data.
Serialized object data.
Contextual information.
Represents a status of a .
Negative status ("-ERR" response).
Positive status ("+OK" response).
Send more data status ("+ ..." response).
Error status (unknown reasponse).
Represents POP3 SASL extension.
Gets supported authentication methods.
Represents POP3 UTF8 extension.
Gets boolan value indicating UTF8 USER extension is supported.
Arguments for and event.
The certificate used to authenticate the remote party.
The chain of certificate authorities associated with the remote certificate.
One or more errors associated with the remote certificate.
Set this field to indicate validness of server's certificate.
Handler for ServerCertificateValidateEventHandler.
An object that contains state information for this validation.
Event arguments. Use to validate the certificate.
Represents an error that occurred on the server.
Initializes new instance of ServerException with serialized data.
Serialized object data.
Contextual information.
Describes the delivery notification options (Delivery Status Notifications, DSN) for email.
You can use to set delivery options.
No notification information will be sent. The mail server will utilize its configured behavior to determine whether it should generate a delivery notification.
Notify if the delivery is successful.
Notify if the delivery is unsuccessful.
Notify if the delivery is delayed.
A notification should not be generated under any circumstances.
Represents result of the message sending process, returned by , .
Gets the status of the sending process.
Gets the list of the recipients () rejected by the SMTP server.
Gets the list of the recipients () approved by the SMTP server.
Gets a boolean value indicating if (, ) was rejected.
Gets all error responses received from the server while sending message.
Gets all responses received from the server while sending message.
Gets error responses received from the server in response to 'add recipient' (RCPT TO command) requests.
You can iterate over this dictionary using list.
Represents a status of .
Success status: message was succesfully sent to all recipients.
Partial success status: message was succesfully sent to some, but not to all recipients.
You can use to get rejected recipients.
Failure status: message sending failed.
SMTP client implementation. It allows sending emails using SMTP server.
Gets or sets SMTP protocol configuration.
Gets or sets the value, which, if set, is used when sending HELO or EHLO commands.
Gets or sets the value indicating if should be used when sending messages.
Default is true.
Gets or sets the value indicating if should be used when sending messages.
Default is true.
Gets or sets the value indicating if and should send message
even if some recipients were rejected.
Setting this value to true when is used improves performance.
Default is false.
Gets or sets the value indicating if instance validation is performed before sending.
It ensures that the message has a sender, at least one recipient and a body.
Default is false.
Gets or sets the delivery notification options (Delivery Status Notifications, DSN) for email.
Available when is reported by .
Gets the server greeting (initial response).
Default SMTP protocol port (587).
If you need to use different port please use port parameter in or method.
Default SMTP protocol over SSL port (465).
If you need to use different port please use port parameter in or method.
Initializes new instance of the Smtp class.
Initializes new instance of the Smtp class.
Address family.
Connects to SMTP server on port 587. Use when SSL connection is needed.
Host name or IP address.
DNS resolving error, connection error.Initial error response.
Connects to SMTP server using SSL on port 465.
Host name or IP address.
DNS resolving error, connection error.Initial error response.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server connection using .
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
An IAsyncResult that references the asynchronous connection.
Begins an asynchronous request for a remote server secure connection using and SSL.
The name or IP address of the remote server.
The AsyncCallback delegate.
An IAsyncResult that references the asynchronous connection.
Lists extensions supported by the remote server (e.g. )
Extensions supported by remote server.
Lists authentication methods supported by the remote server.
Authentication methods supported by remote server.
Sends command to the SMTP server (e.g. "EHLO").
Most commands have their own specialized methods in this class, you should probably use them instead.
Command to be send e.g. "EHLO".
Throws on error response.Server's response.
Sends command to the SMTP server (e.g. "EHLO").
Most commands have their own specialized methods in this class, you should probably use them instead.
Command to be send e.g. "EHLO".
If true throws on error response.
Server's response.
Logs user in using best method available.
When no AUTH capability is found, this method switches to SSL () and tries again.
User's login.
User's password.
Throws on error response.
Sends 'STARTTLS' command and initializes SSL connection (issues EHLO command afterwards).
Not all servers support . You can check which extensions remote server supports using method.
Throws on error response.
Logs user in using AUTH LOGIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
User's password.
Throws on error response.
Logs user in using AUTH PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
User's password.
Throws on error response.
Logs user in using AUTH PLAIN command. This method sends the password in clear text (BASE64), unless SSL connection is used.
User's login.
Administrator's user.
Administrator's password.
Throws on error response.
Logs user in using AUTH CRAM-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
This command is unnecessary if you are using SSL, use method instead.
Throws on error response.
Logs user in using AUTH DIGEST-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
Throws on error response.
Logs user in using AUTH DIGEST-MD5 command. This method does NOT send the password in clear text.
User's login.
User's password.
Host and service name (host ["/" service-name]) part of digest-uri parameter, if null realm is used.
Throws on error response.
Logs user in using mechanism. Target will be constructed as "smtp/" + TargetHost name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "smtp/" + TargetHost name.
Mechanism to use.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
Indicates the service principal name (SPN) of the destination server. Default is "smtp/" + fully qualified target name. IIS SMTP may use "SmtpSvc/" + fully qualified target name.
Throws on error response.
Logs user in using specified mechanism (, or ).
Target will be constructed as "smtp/" + TargetHost name.
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Throws on error response.
Logs user in using specified mechanism (, or ).
Mechanism to use.
User's login (e.g. "domain/user").
User's password.
Indicates the service principal name (SPN) of the destination server. Default is "smtp/" + fully qualified target name. IIS SMTP may use "SmtpSvc/" + fully qualified target name.
Throws on error response.
Logs user in using AUTH XOAUTH command. This method does NOT send the password.
You can use class to create the key.
XOAuth key. You can use method to create this key.
Throws on error response.
Logs user in using AUTH XOAUTH2 command. This method does NOT send the password.
You can use DotNetOpenAuth to create the key.
You can check which authentication methods remote server supports using method.
User's login (email address).
OAuth 2.0 access token.
Throws on error response.
Sends a single message.
message to send.
Result of the sending operation. You can examine property to check if the operation succeed.
Sends a single message.
SmtpMail message to send.
Result of the sending operation. You can examine property to check if the operation succeed.
Sends NOOP command to the server. It does nothing and always succeeds.
Can be used to reset any inactivity auto-logout timer on the server.
Throws on error response.
Sends QUIT command. Disconnects and releases all resources acquired by this object.
Sends QUIT command. Disconnects and releases all resources acquired by this object.
If true throws on error response.
Represents authentication methods supported by the remote server.
You can use method to obtain the list of all methods supported by the remote server.
AUTH LOGIN authentication method.
AUTH PLAIN authentication method.
AUTH CRAM-MD5 authentication method.
AUTH DIGEST-MD5 authentication method.
AUTH XOAUTH authentication method.
AUTH XOAUTH2 authentication method.
AUTH NTLM authentication method.
AUTH GSSAPI authentication method.
Represents SMTP AUTH extension.
Gets supported authentication methods.
Checks if specified method is supported.
Authentication method to check.
True if method is supported, false otherwise.
Represents configuration.
Gets or sets the value, which, if set, is used when sending HELO or EHLO commands.
Gets or sets the value indicating if should be used when sending messages.
Default is true.
Gets or sets the value indicating if should be used when sending messages.
Default is true.
Gets or sets the value indicating if and
should send a message even if some recipients were rejected.
Setting this value to true when is used improves performance.
Default is false.
Gets or sets the value indicating if instance validation is performed before sending.
It ensures that the message has a sender, at least one recipient and a body.
Default is true.
Gets or sets the delivery notification options (Delivery Status Notifications, DSN) for email.
Available when is reported by .
Gets or sets value indicating if AUTH command should be retried without initial response on failure.
Gets or sets the boolean value indicating if AUTH command should be used without initial response only.
Default is false.
Gets or sets text encoding used when providing credentials.
Initializes new instance of the SmtpConfiguration class.
Represents extensions supported by the remote server.
You can use method to obtain the list of all extensions supported by the remote server.
STARTTLS is supported. You can use to secure the connection.
SIZE extension.
AUTH extension. You can use to obtain all authentication methods supported by the remote server.
PIPELINING extension.
It allows client to transmit groups of SMTP commands in batches without waiting for a response to each individual command.
method uses this feature to speed up sending messages.
(RFC 2920)
ENHANCEDSTATUSCODES extension. It allows server to augment its responses with the enhanced mail system status codes.
Server that support this extension is going to provide in its responses.
(RFC 2034, RFC 1893)
DSN extension. It allows client to specify the conditions under which a Delivery Status Notification should be generated (, )
(RFC 3461)
8BITMIME extension.
(RFC 6152)
BINARYMIME extension.
(RFC 3030)
CHUNKING extension. Allows sending message in chunks, without SMTP's \r\n.->\r\n.. conversion, which improves memory usage.
(RFC 3030)
UTF8SMTP extension. Allows usage of UTF-8 email addresses (both local and domain part) without any encoding.
must be announced by the server when this extension is announced.
BODY=8BITMIME or BODY=BINARYMIME must be used by the client if SMTPUTF8 extension is used.
(RFC 6531)
Represents sender, recipients and raw message data in eml format that can be sent via SMTP protocol.
Gets or sets from mail address. Value of this property is used for SMTP's MAIL FROM command.
Gets the collection of mail addresses this message will be sent to. Value of this property is used for SMTP's RCPT TO command.
Gets or sets the raw message data that can be sent using SMTP protocol.
Value of this property ("\r\n." sequence escaping is performed automatically, when needed), is used for SMTP's DATA or BDAT command.
Gets or sets the additinal information if enclosed message is MDN.
Setting this property changes how validation works,
as the envelope sender address (SMTP MAIL FROM) of the MDN MUST be null (RFC 3798).
Creates new empty SmtpMail object.
Creates new SmtpMail object.
From mail address.
Message data in eml format to be send.
Collection of mail addresses this message will be sent to.
Forces punycode be used instead of full UTF8 envelope addresses.
Creates new using specified email.
, and are initialized using specified .
Email to initialize this object from.
New object.
Creates new using specified email.
and are initialized using specified .
property is initialized using VERP address containig and or .
VERP address used to initialize property is created using class.
Email to initialize this object from.
New object.
Creates VERP version of the address.
VERP address used to initialize property is created using class.
Creates new using specified eml raw data string.
, and are initialized using parsed content.
Raw eml data string.
New object.
Loads raw eml data from file and creates new object.
, and are initialized using parsed content of a file specified by .
The file to read raw eml data from.
New object.
Represents SMTP server response.
Gets enhanced status code. e.g. 2.1.0.
2.X.X is success;
4.X.X is persistent transient failure;
5.X.X is permanent failure.
Gets the status code.
2yz is positive completion reply;
3yz is positive intermediate reply;
Other is negative.
Gets the lines returned from server as strings.
Every line is striped off of the and '-' char at the beginning and new line characters at the end.
Gets the status of this response.
First line of the response or null if collection is empty.
Returns a string that represents the current .
A string that represents the current .
Represents an SMTP server error response.
Gets SMTP server response that caused this exception to be thrown.
Initializes new instance of SmtpResponseException with serialized data.
Serialized object data.
Contextual information.
Represents a status of a .
Positive status (200-299 response codes).
Requires more data status (300-399 response codes).
Error status (400- response codes).
Represents SMTP SIZE extension.
Gets the maximum size of the message. Messages above this size will not be accepted.
Represents SSL configuration (client certificates, enabled SSL protocols)
Gets or sets the target host name used for authenticating as client.
Specifies whether the certificate revocation list is checked during authentication. Default is false.
The that contains client certificates.
Represents the protocol used for authentication.
Default is .
Event which is called for custom server certificate validation.
Callback which is called for custom client certificate selection.
Represents common Oids, that represent encryption and signing algorithms.
Gets DES-EDE3-CBC oid.
Gets aes128-CBC oid.
Gets aes256-CBC oid.
Gets md5 oid.
Gets SHA-1 oid.
Gets SHA-224 oid.
Gets SHA-256 oid.
Gets SHA-384 oid.
Gets SHA-512 oid.
PEM format reader.
Reads certificate from PEM file (BEGIN CERTIFICATE).
File name to read from
Certificate that was read.
Reads certificate from PEM file (BEGIN CERTIFICATE).
String to read from
Certificate that was read.
Reads public key from PEM file (BEGIN PUBLIC KEY).
File to read from
Certificate that was read.
Reads public key from PEM file (BEGIN PUBLIC KEY).
String to read from
Certificate that was read.
Reads private key from PEM file (BEGIN RSA PRIVATE KEY / BEGIN PRIVATE KEY).
File to read from
Certificate that was read.
Reads private key from PEM file (BEGIN RSA PRIVATE KEY / BEGIN PRIVATE KEY).
String to read from
Certificate that was read.
Reads encrypted private key from PEM file (BEGIN ENCRYPTED PRIVATE KEY / BEGIN RSA PRIVATE KEY).
File to read from
Password.
Certificate that was read.
Reads encrypted private key from PEM file (BEGIN ENCRYPTED PRIVATE KEY / BEGIN RSA PRIVATE KEY).
String to read from
Password.
Certificate that was read.
Represents result of charset to encoding match.
Charset wasn't specified.
Charset was specified, but it doesn't exist or is unknown.
Charset was specified.
Represnts AppleSingle data.
Gets magic number (, )
Gets version.
Gets all entries stored in this instance.
Gets data stored in .
Gets data stored in entry.
Gets data stored in entry.
Represents single entry in file.
Gets this entry ID.
Gets data stored in this entry.
Represents Apple entry ID.
Data fork.
Resource fork.
File's name as created on home file system.
Standard Macintosh comment.
Standard Macintosh black and white icon.
Macintosh color icon.
File creation date, modification date, and so on.
Standard Macintosh Finder information.
Macintosh file information, attributes, and so on.
ProDOS file information, attributes, and so on.
MSDOS file information, attributes, and so on.
AFP short name.
AFP short name
AFP short name
AppleSingle magic numbers.
Represents AppleSingle magic number.
Represents AppleDoubleHeader magic number.
Represents alarm calendar entity.
You can use or to add alarm to event.
You can check collection to get alarms defined for a event.
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
END:VALARM
Gets exact alarm time (Always converted to the UTC value).
Gets relative to information of .
Gets alarm offset. Offset is relative to property.
Gets or sets alarm action (display, audio).
Gets or sets alarm description.
Creates new event entity
Sets the alarm time to precise date and time.
Date and time at which alarm should be raised .
Sets the alarm time offset relative to start of the event.
Time span before event start when alarm should be raised.
Sets the alarm time offset relative to end of the event.
Time span before event end when alarm should be raised.
Represents action that should be taken when alarm is raised.
You can use static fields of this class: and .
Alarm should be displayed.
Audio notification should be played.
Represents appointment calendar entity.
To get all appointments, that an email contains, you can use collection.
You can add appointment to an email using or methods.
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2007
VERSION:2.0
BEGIN:VEVENT
ORGANIZER;CN="Alice":MAILTO:alice@mail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN='Bob':MAILTO:bob@mail.com
SUMMARY;LANGUAGE=en-US:First Meeting
DTSTART:20100315T080000
DTEND:20100315T083000
UID:040000008200E00074
CLASS:PUBLIC
DTSTAMP:20100317T141328Z
STATUS:CONFIRMED
LOCATION;LANGUAGE=en-US:Room 42
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
END:VALARM
END:VEVENT
END:VCALENDAR
Gets or sets iCalendar object method associated with the calendar object (e.g. , ).
Gets or sets the identifier for the product that created the iCalendar object.
Gets or sets version that is required in order to interpret the iCalendar object.
List of events in this appointment.
List of timezones defined in this appointment.
Gets first event from the list or if there are no events.
Gets first time zone from the list or if there are no time zones defined.
Creates new Appointment entity.
Adds new event to the collection.
Event that was added.
Adds event to the collection.
Event to add.
Adds timezone to the collection.
Event that was added.
Adds timezone to the collection.
Time zone to add.
Creates canceled version of this appointment.
New appointment with all events canceled.
Creates new version of this appointment that can be updated.
New appointment.
Creates new version of this appointment that can be updated.
New appointment.
Creates new appointment with set to for users with specified email.
Email of user that declined the event.
New appointment.
Creates new appointment with set to for users with specified email.
Email of user that accepted the event.
New appointment.
iCalendar appointment parser.
Creates new AppointmentParser with specified encoding.
Encoding to be used when extracting encoded data.
Creates new AppointmentParser with default encoding.
Parses specifed text and creates new iCalendar appointment card object.
Text to parse.
VCard business card.
Base class for standard and daylight savings time of a time zone.
This property specifies when the time zone offset begins (Always converted to local time without the "TZID" property parameter).
Recurring rule of this time zone offset.
This property specifies the offset which is in use prior to this time zone observance.
This property specifies the offset which is in use in this time zone observance.
Customary name for the time zone.
Creates new event entity.
Time zone name.
Represents daylight savings time of a time zone.
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0900
TZOFFSETTO:-0800
TZNAME:AKDT
END:DAYLIGHT
Creates new daylight offset entity.
Represents event calendar entity.
BEGIN:VEVENT
ORGANIZER;CN="Alice":MAILTO:alice@mail.com
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN='Bob':MAILTO:bob@mail.com
SUMMARY;LANGUAGE=en-US:First Meeting
DTSTART:20100315T080000
DTEND:20100315T083000
UID:040000008200E00074
CLASS:PUBLIC
DTSTAMP:20100317T141328Z
STATUS:CONFIRMED
LOCATION;LANGUAGE=en-US:Room 42
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
END:VALARM
END:VEVENT
Gets or sets the unique id of this event.
For sending an UPDATE for an event the UID should match the original UID.
Also should be set.
Gets or sets class of this event (public, private, confidential).
Gets or sets status of this event (tentative, confirmed, canceled).
Gets or sets time stamp of this event (Always converted to UTC format).
Gets or sets start time of this event ("DTSTART").
Gets or sets end time of this event ("DTEND").
Gets or sets time zone id of time of this event. Consider using method instead setting this property.
Gets or sets time zone id of time of this event. Consider using method instead setting this property.
Gets or sets time zone id of of this event. Consider using method instead setting this property.
Gets or sets priority of this event.
Gets or sets sequence of this event.
You should increment this number for each event update. First update should have sequence set to 1.
Gets or sets summery of this event.
In Microsoft Outlook, the SUMMARY corresponds to the "Subject" entry in the "Appointment" form.
Gets or sets description of this event.
In Microsoft Outlook, the DESCRIPTION corresponds to the descriptive text below "Appointment" form.
Gets or sets the value of X-ALT-DESC. It is used by Outlook to specify HTML version of header.
Gets or set ALTREP parameter of header.
It specifies a URI that points to analternate representation for a textual property value (e.g "CID:part3.msg.970415T083000@example.com").
Gets or sets location of this event.
Gets or sets the organizer of this event. Use method to set organizer.
List of alarms for this event.
Gets all participants of this event. Use method to add new participant to this collection.
Gets all recurring rules for this event. Use method to add new participant to this collection.
Gets a list of date/time exceptions for this event. (EXDATE).
Gets first alarm from the list or if there are no alarms for this event.
Gets recurence id this instants represents. (RECURRENCE-ID).
Creates new event entity.
Creates new alarm and adds it to the collection of this event.
Newly create alarm that was added to this event.
Adds alarm to the collection of this event.
Alarm to add.
Creates new recurring rule and adds it to the collection of this event.
Newly recurring rule that was added to this event.
Adds recurring rule to the collection of this event.
Recurring rule to add.
Sets organizer for this event.
Person to be set as the organizer to this event.
Adds new participant to this event.
Participant to be added to this event.
Marks the event as an all day event.
Time in and properties will be ignored if this method is used.
Specifies time zone for this event. Sets and .
Remember to add the specified timezone to .
Time zone.
Creates canceled version of this event.
New canceled event.
Creates new version of this event that can be updated.
New event.
Sets to for participants with specified email.
Removes all others from the event.
Email of user that accepted the event.
Sets to for participants with specified email.
Removes all others from the event.
Email of user that declined the event.
Represents class of the event.
Event is public.
Event is private.
Event is confidential.
Represents event status.
Indicates event is tentative.
Indicates event is definite.
Indicates event is canceled.
Represents frequency of the recurring event.
You can use to specify interval greater than one.
Event occurs every second.
Event occurs every minute.
Event occurs every hour.
Event occurs every day.
Event occurs every week.
Event occurs every month.
Event occurs every year.
Represents method of the appointment.
Publish.
Request.
Reply.
Cancel.
Counter (used by an "Attendee" of an existing event to submit to the "Organizer" a counter proposal to the event description.)
Counter (used by the "Organizer" of an event to reject a counter proposal submitted
by an "Attendee". The "Organizer" must send the "DECLINECOUNTER" message
to the "Attendee" that sent the "COUNTER" method to the "Organizer".)
Represents event participant.
Gets or sets participation role.
Gets or sets information whether participant is required.
Gets or sets participation status.
Gets or sets X-RESPONSE-COMMENT value.
Creates new participant with specified common name and email.
Common name of the person.
Email of the person.
Creates new participant with specified common name and email.
Common name of the person.
Email of the person.
Participation role.
Specifies whether participant is required.
Renders this participant on specified calendar header.
Header to render on.
Extracts participant information from specified header.
Header to extract information from.
Represents user participation role.
Chair
Participant is required.
Participant is optional.
Not participant.
Represents user participation status.
Needs action.
Accepted.
Declined.
Tentatively accepted.
Delegated.
Completed.
In progress.
Represents a person.
Gets or sets the common name of the person.
Gets or sets email of the person.
Creates new Person object with specified common name and email.
Common name of the person.
Email of the person.
Renders this person on specified calendar header.
Header to render on.
Extracts person information from specified header.
Header to extract information from.
Represents "RECURRENCE-ID" property ().
The full range of calendar components specified by a recurrence set is referenced by referring to just the property value corresponding to the calendar component.
The "RECURRENCE-ID" property allows the reference to an individual instance within the recurrence set.
The "RECURRENCE-ID" property is used in conjunction with the and property to identify a particular instance of a recurring event.
For a given pair of and property values, the "RECURRENCE-ID" value for a recurrence instance is fixed.
The "RANGE" parameter is used to specify the effective range of recurrence instances from the instance specified by the "RECURRENCE-ID" property value.
The default value for the range parameter (when it's null) is the single recurrence instance only.
The value can also be and .
Gets the time zone. (TZID).
Indicates
If the value of the property is a DATE type value,
then the value MUST be the calendar date for the recurrence instance.
Gets the time when recurrence instance would occur.
The date/time value is set to the time when the original recurrence instance would occur;
meaning that if the intent is to change a Friday meeting to Thursday, the date/time is still set to the original Friday meeting.
Creates new RecurrenceId instance.
Creates new RecurrenceId instance.
Time when recurrence instance would occur.
Time zone. (TZID).
Creates new RecurrenceId instance.
Range, use or constant.
Time when recurrence instance would occur.
Creates new RecurrenceId instance.
Range, use or constant.
Time when recurrence instance would occur.
Time zone. (TZID).
Marks the this recurrence id as an all day event.
Time in property will be ignored if this method is used.
This recurrence id.
Represents value of property.
You can use static fields of this class such as: and .
Indicates a range defined by the given recurrence instance and all subsequent instances.
Indicates a range defined by the given recurrence instance and all prior instances.
Represents recurring rule for a event.
You can use or to make event recurring.
You can check collection to get all recurring rules defined for a event.
Creates new recurring rule.
Gets or sets frequency for this rule. You can use static fields of Frequency class e.g.
Gets or sets recurring interval of this rule.
Gets or sets how many times event will be repeated.
Gets or sets the date the until which event will be repeated (Always converted to the UTC value).
Gets or sets BYSECOND parameter ranging from 0 to 59.
Gets or sets BYMINUTE parameter ranging from 0 to 59.
Gets or sets BYHOUR parameter ranging from 0 to 23.
Gets or sets BYDAY parameter.
List of days when event should occur. You can use static fields of class e.g. .
Gets or sets BYMONTH parameter.
List of months when event should occur ranging from 1 to 12.
Gets or sets BYWEEKNO parameter.
List of values ranging from 1 to 53 or -53 to -1.
A week is defined as a seven day period, starting on the day of the week defined to be the week start ().
Week number one of the calendar year is the first week which contains at least four (4) days in that calendar year.
This rule part is only valid for YEARLY rules. For example, 3 represents the third week of the year.
Gets or sets BYYEARDAY parameter.
List of values ranging from -365 to 365.
Gets or sets BYMONTHDAY parameter.
List of values ranging from -31 to 31.
Gets or sets BYSETPOS parameter.
Specifies list of values which corresponds to the nth occurrence within the set of events specified by the rule.
Valid values are 1 to 366 or -366 to -1. It MUST only be used in conjunction with another BYxxx rule part.
For example "the last work day of the month" could be represented as:
RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
Gets or sets WKST parameter.
The WKST rule part specifies the day on which the workweek starts.
This is significant when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule part is specified.
This is also significant when in a YEARLY RRULE when a BYWEEKNO rule part is specified. The default value is MO.
Represents information about relation.
Alarm is related to the 's time.
Alarm is related to the 's time.
Represents standard time of a time zone.
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTH=11
TZOFFSETFROM:-0800
TZOFFSETTO:-0900
TZNAME:AKST
END:STANDARD
Creates new standard offset entity.
Represents time zone entity.
BEGIN:VTIMEZONE
TZID:US-Eastern
LAST-MODIFIED:19870101T000000Z
BEGIN:STANDARD
DTSTART:19971026T020000
RDATE:19971026T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19971026T020000
RDATE:19970406T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE
Text value that uniquely identifies the VTIMZONE calendar component within the scope of an iCalendar object (TZID).
Standard time offsets.
Daylight time offsets.
Creates new time zone entity.
Represents the day of the week.
new Weekday(2, Weekday.Monday) // represents second Monday
new Weekday(-1, Weekday.Friday) // represents last Friday
Sunday.
Monday.
Tuesday.
Wednesday.
Thursday.
Friday.
Saturday.
First Sunday.
First Monday.
First Tuesday.
First Wednesday.
First Thursday.
First Friday.
Last Saturday.
Last Sunday.
Last Monday.
Last Tuesday.
Last Wednesday.
Last Thursday.
Last Friday.
Last Saturday.
Day of the week offset.
1 is first, 2 is second, -1 means last, -2 means second from the last and so on.
Two letter name of the day (MO, TU, WE, TH, FR, SA, SU)
Creates new instance of the weekday
Offset (1 is first, 2 is second, -1 is last)
Day of the week. You can use static fields of this class to fill this parameter(e.g. )
Returns this object rendered as string.
This object rendered as string.
Determines whether the specified object is equal to the current one.
Names are compared case insensitive.
The to compare with the current true if the specified object is equal to the current object; otherwise, false.
Determines whether the specified object is equal to the current object.
Names are compared case insensitive.
The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current object.
Determines whether two objects are equal.
First object to compare.
Second object to compare.
if the specified objects are equal; otherwise, .
Determines whether two objects are not equal.
First object to compare.
Second object to compare.
if the specified objects are not equal; otherwise, .
Represents configuration for attachments' removal method.
Should remove delegate.
MIME entity.
True if content should be removed, false otherwise.
Gets or sets the value indicating, if elements should be removed. Default is true.
Gets or sets the value indicating, if elements should be removed. Default is true.
Gets or sets the value indicating, if elements should be removed. Default is true.
Gets or sets the callback that is invoked for all candidates to be removed. Default callback returns true.
Please note that even if this callback returns true, , , may prevent MIME entity to be removed.
Creates new AttachmentRemoverConfiguration object with default settings.
Represents configuration for attachments' replacing method.
Tag generation delegate.
Attachment object for which the tag should be generated.
Generated tag value.
Should replace delegate.
MIME entity.
True if content should be replaced, false otherwise.
Gets or sets the template for attachments that have name specified.
You can use [FileName], [Size] and [Tag] placeholders.
Template sample:
This file ('[FileName]') containing [Size] bytes of data was removed.
Gets or sets the template for attachments that have no name specified.
You can use [FileName], [Size] and [Tag] placeholders.
Template sample:
This file containing [Size] bytes of data was removed.
Gets or sets tag generating function.
You can use this property to generate unique id for replaced attachment,
that can be used in or templates using [Tag] placeholder.
config.Tag = att => "http://example.com/1234/" + att.FileName;
Gets or sets the value indicating, if elements should also be replaced. Default is true.
Gets or sets the value indicating, if elements should also be replaced. Default is true.
Gets or sets the value indicating, if elements should be replaced. Default is true.
Gets or sets the callback that is invoked for all canditates to be replaced. Default callback return true.
Please note that even if this callback returns true, , , may prevent MIME entity to be replaced.
Creates new AttachmentReplacerConfiguration object with default settings.
Base class for all constant values.
Gets the name of the constant.
Determines whether the specified object is equal to the current one.
Names are compared case insensitive.
The to compare with the current true if the specified object is equal to the current object; otherwise, false.
Determines whether the specified object is equal to the current object.
The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Serves as a hash function for a particular type.
A hash code for the current .
Determines whether two objects are equal.
First object to compare.
Second object to compare.
if the specified objects are equal; otherwise, .
Determines whether two objects are not equal.
First object to compare.
Second object to compare.
if the specified objects are not equal; otherwise, .
Returns the of this object.
of this object.
Represents data decoded from BinHex encoded data.
Gets the name stored in BinHex data.
Gets the type stored in BinHex data.
Gets auth data stored in BinHex data.
Gets flags stored in BinHex data.
Gets data.
Gets resource data.
Represents business card (vcard) entity.
To get all vcards, that an email contains, you can use collection.
You can add vcards to an email using or methods.
Gets or sets the formatted text corresponding to the full name of the object this vCard represents (FN).
Gets or sets the name of the object this vCard represents (N).
Gets or sets the organization of the object this vCard represents (ORG).
Gets or sets the position or job of the object this vCard represents (TITLE).
Gets or sets the a uniform resource locator associated with the object to which this vCard refers (URL).
Gets preferred work phone of the object this vCard represents (TEL).
Gets preferred work fax of the object this vCard represents (TEL).
Gets preferred home phone of the object this vCard represents (TEL).
Gets preferred home fax of the object this vCard represents (TEL).
Gets work address of the object this vCard represents (ADR).
Gets home address of the object this vCard represents (ADR).
Gets preferred email of the object this vCard represents (EMAIL).
Gets all addresses associated with this vCard (ADR).
Gets all phones associated with this vCard (TEL).
Gets all emails associated with this vCard (EMAIL).
Creates new VCard entity.
Represents VCard address.
Gets types of this entity.
Gets or sets the post office box.
Gets or sets the extended address (e.g. apartment or suite number).
Gets or sets the street address.
Gets or sets the locality (e.g. city).
Gets or sets the region (e.g. state or province).
Gets or sets the postal code.
Gets or sets the country name.
Creates new VCardAddress entity.
Creates new VCardAddress entity.
Post office box.
Extended address (e.g. apartment or suite number).
Street address.
Locality (e.g. city)
Region (e.g state or province).
Postal code.
Country name.
Marks this address as work address.
Marks this address as home address.
Represents VCard email.
Gets or sets preference (lower value is more preferred, zero is least preferred)
Gets types of this entity.
Gets or sets the actual email address.
Creates new VCardEmail entity.
Creates new VCardEmail entity.
Email value.
Marks this email address as work email address.
Marks this email address as home email address.
Marks this email address as preferred email address.
Represents VCard name.
Gets or sets first name.
Gets or sets last name.
Creates new VCardName entity.
Creates new VCardName entity.
First name.
Last name.
Represents VCard organization.
Gets or sets the organization name.
Gets organization units.
Creates new VCardOrganization object.
Creates new VCardOrganization object.
Organization's name.
VCard business card parser.
Creates new VCardParser with specified encoding.
Encoding to be used when extracting encoded data.
Creates new VCardParser with UTF-8 encoding.
Parses specifed text and creates new VCard business card object.
Text to parse.
VCard business card.
Represents VCard phones.
Gets or sets preference (lower value is more preferred, zero is least preferred)
Gets types of this entity.
Gets or sets the value (uri or text).
Gets or sets phone value.
Creates new VCardPhone entity.
Creates new VCardPhone entity.
Phone value.
Sets phone as free form text.
Phone as free form text.
Sets phone as free uri text.
Phone as ur (tel:+1-111-555-1212).
Marks this phone as work phone.
Marks this phone as home phone.
Marks this phone as fax phone.
Marks this phone as voice phone.
Represents VCard types.
Static fields of this class represent most common types (e.g. , , , ...).
Represents Home.
Represents Work.
Represents Voice.
Represents Fax.
Represents preferred type.
Represents Internet type.
Represents DKIM signature configuration: RSA private key and signature info.
RSA class containing private key used for signing.
DKIM signature information (selector, domain).
Creates new instance of DKIMSignatureInfoAndRsa.
RSA class containing private key used for signing.
DKIM signature information (selector, domain).
Represents DKIM (DomainKeys Identified Mail) signature validation configuration.
You can use , , and helper methods to create this type.
Get or sets a Boolean value that indicates whether unsigned from header error should be ignored. Default is false.
Get or sets a Boolean value that indicates whether incorect parameter value should be ignored,
for example when value is greater that the length of the data that needs to be hashed.
Default is true.
Get or sets the selector for header validation.
Consider using static method instead of setting this field.
Get or sets the domain for header validation.
Consider using static method instead of setting this field.
Gets or sets the cvalue indincating how DKIM-Signature headers are validated.
Creates new DKIMValidationConfiguration object.
Creates new DKIMValidationConfiguration object with set to .
New DKIMValidationConfiguration object.
Creates new DKIMValidationConfiguration object with set to .
Public key DNS selector (s=).
Public key DNS domain (d=).
New DKIMValidationConfiguration object.
Creates new DKIMValidationConfiguration object with set to .
New DKIMValidationConfiguration object.
Creates new DKIMValidationConfiguration object with set to .
New DKIMValidationConfiguration object.
Specifies how DKIM-Signature headers are validated.
Validates first DKIM-Signature header found (default).
Validates specific DKIM-Signature header found.
Validates DKIM-Signature headers until it finds valid one.
Validates all DKIM-Signature headers.
Represents DKIM canonicalization.
You can use it to specify or .
Simple canonicalization (almost no changes to the headers or body are allowed).
Relaxed canonicalization (minor changes, like additional spaces, are allowed).
Nowsp canonicalization. It should not be used and is considered insecure. (It is not defined in RFC4871)
Represents DKIM hash algorithm.
RSA-SHA1 hash algorithm.
RSA-SHA256 hash algorithm.
RSA-SHA512 hash algorithm.
Represents DKIM signature information. (E.g. Canonicalization used, hash algorithm, selector, domain)
Gets or sets public key DNS selector (s=).
Gets or sets DKIM version (v=).
Gets or sets public key DNS domain (d=).
Gets or sets list of headers that are included in the signature (h=).
Gets or sets hash algorithm (a=).
Gets or sets header canonicalization (c=).
Gets or sets body canonicalization (c=).
Gets or sets the number of body characters that are included in the signature (l=).
Null means that hash is computed for entire body.
Negative value means error during parsing, or negative value specified.
Gets or sets the signature timestamp - the time that this signature was created (t=).
Default (null) is an unknown creation time.
Gets or sets the signature expiration - the time that this signature was created (x=).
Default (null) is an unknown expiration time.
The value of this property must be greater than the value of if both are present.
Signatures MAY be considered invalid if the verification time at the verifier is past the expiration date.
Creates new instance of DKIMSignatureInfo.
Creates new instance of DKIMSignatureInfo.
DNS public key domain selector.
DNS public key domain.
Sets bh=, clears b=
Body hash.
Checks if this object is correctly filled.
True if object is correctly filled, false otherwise.
Gets list of the errors in this object.
List of errors.
Represents S/MIME (Secure/Multipurpose Internet Mail Extensions) encryption configuration.
Gets or sets the type of the identifier of the recipient. Default is
Gets the list of certificates that will be used to encrypt the message.
Gets or sets the encryption algorithm. You can use one of the static values.
Default is 3DES ().
Creates new EncryptionConfiguration instance.
Certificate that will be used to encrypt the message.
Creates new EncryptionConfiguration instance.
Represents attachment configuration.
Sets the attachment's file name.
FileName of the attachment.
Attachment configuration
Sets the and value if requested.
Suggested file name.
True if should be set based on the file name extension.
Newly added attachment.
Sets the attachment's Content-Id.
Content-Id of the attachment.
Attachment configuration
Sets the attachment's Content-type.
Content-Type of the attachment.
Attachment configuration
Email configuration.
Sets plain text version of the email. Please remember that using method will override plain text.
Plain text version of email body.
Email configuration.
Sets HTML version of the email.
If is not empty extracts plain text from HTML and overrides .
HTML version of email body.
Email configuration.
Sets the author of this email ('From' header).
This method can be used multiple times to set many addresses.
Email address of the email's author.
Email configuration.
Sets the author of this email ('From' header).
Email's author.
Email configuration.
Sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
Email address of the email's sender.
Email configuration.
Sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
Email's sender.
Email configuration.
Sets email address(es) to which the author of this email message suggests that replies be sent ('Reply-to' header).
This method can be used multiple times to set many addresses.
Reply-To email address.
Email configuration.
Sets email address(es) to which the author of this email message suggests that replies be sent ('Reply-to' header).
You can use to represent single mailbox, or to represent group of email addresses.
This method can be used multiple times to set many addresses.
Reply-To mailbox.
Email configuration.
Sets address(es) of the primary recipient(s) of this email message ('To' header).
This method can be used multiple times to set many addresses.
Email address of the email recipient.
Email configuration.
Sets address(es) of the primary recipient(s) of this email message ('To' header).
You can use to represent single mailbox, or to represent group of email addresses.
This method can be used multiple times to set many addresses.
Email recipient.
Email configuration.
Sets the address(es) of others who are to receive this email message ('CC', Carbon Copy header), even tough the content of the message may not be directed at them.
This method can be used multiple times to set many addresses.
CC recipient.
Email configuration.
Sets the address(es) of others who are to receive this email message ('CC', Carbon Copy header), even tough the content of the message may not be directed at them.
You can use to represent single mailbox, or to represent group of email addresses.
This method can be used multiple times to set many addresses.
Email address of the CC recipient.
Email configuration.
Sets the address(es) of others who are to receive this email message ('BCC', Blind Carbon Copy header), even tough the content of the message may not be directed at them.
This method can be used multiple times to set many addresses.
Email address of the BCC recipient.
Email configuration.
Sets the address(es) of others who are to receive this email message ('BCC', Blind Carbon Copy header), even tough the content of the message may not be directed at them.
You can use to represent single mailbox, or to represent group of email addresses.
This method can be used multiple times to set many addresses.
BCC recipient.
Email configuration.
Sets the disposition notifications address(es) ('Disposition-Notification-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
Disposition-Notification-To mailbox.
Email configuration.
Sets the disposition notifications address(es) ('Disposition-Notification-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
Disposition-Notification-To email address.
Email configuration.
Sets return receipt address(es) ('Return-Receipt-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
Return-Receipt-To mailbox.
Email configuration.
Sets return receipt address(es) ('Return-Receipt-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
Return-Receipt-To email address.
Email configuration.
Sets confirm reading address(es) ('X-Confirm-Reading-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
X-Confirm-Reading-To mailbox.
Email configuration.
Sets confirm reading address(es) ('X-Confirm-Reading-To' header).
Consider using method instead of using this method.
This method can be used multiple times to set many addresses.
X-Confirm-Reading-To email address.
Email configuration.
This method copies From or ReplyTo addresses to all read receipts lists.
Read receipts are stored using , and headers.
Read receipt requests may not always be honored because:
Email client may not recognize the special Disposition-Notification-To header; Email client may not implement that functionality; End user may have that functionality turned off; End user may optionally not choose to send one for your particular email; Email configuration.
Sets the priority of a email message ('Priority' header).
Consider using or methods instead of using this method.
Message's priority.
Email configuration.
Sets the X-Priority of this email message ('X-Priority' header) (Outlook specific).
Value ranges from "1" to "5" where "1" is the highest priority, "3" is normal, and "5" is the lowest priority.
Consider using or methods instead of using this method.
Message's priority value ranges from "1" to "5" where "1" is the highest priority, "3" is normal, and "5" is the lowest priority.
Email configuration.
Sets the importance of the message.
Consider using or methods instead of using this method.
Message's importance.
Email configuration.
Sets the sensitivity of a email message ('Sensitivity' header).
Message's sensitivity.
Email configuration.
Sets to 1, to and
to Email configuration.
Sets to 5, to and
to Email configuration.
Sets id of a email message ('Message-ID' header). If not set or set to null generated automatically.
Message id without surrounding brackets.
Email configuration.
Adds unique id () of the referenced email message ('References' header).
Referenced message id without surrounding brackets.
Email configuration.
Sets the id of the parent email message ('In-Reply-To' header).
Referenced message id without surrounding brackets.
Email configuration.
Sets subject of a message ('Subject' header).
Subject of the message.
Email configuration.
Sets the send date of a email message ('Date' header).
If null, is set automatically to current date and time when method is used.
Date of the message.
Email configuration.
Adds custom header.
Header name.
Header value.
Email configuration.
Adds a attachment to the message.
The file to read data from.
Email configuration for this attachment.
Adds a attachment to the message.
Data of the attachment.
Email configuration for this attachment.
Adds a visual attachment to the message.
The file to read data from.
Email configuration for this attachment.
Adds a visual attachment to the message.
Data of the visual attachment.
Email configuration for this attachment.
Adds alternative view for this message.
Alternative view to add.
Email configuration.
Adds specified appointment as alternative view for this message.
Appointment to add.
Email configuration.
Adds specified VCARD as attachment to this message.
VCard business card to add.
Email configuration.
Signs the message.
Certificate used for signing.
Email configuration.
Signs the message.
Signature configuration: such as certificate, algorithm etc.
Email configuration.
Encrypts the message using specified certificate.
You can call this method multiple times to use several certificates for encryption.
General rule is that both sender and receiver should be able to decrypt the message.
Certificate to use for encryption.
Email configuration.
Encrypts the message using specified encryption configuration.
General rule is that both sender and receiver should be able to decrypt the message.
Encryption configuration: such as certificates, algorithm etc.
Email configuration.
Signs the message using DKIM (DomainKeys Identified Mail) signature.
You can call this method multiple times to have several DKIM signatures present in the resulting message.
RSA class containing private key used for signing.
DNS public key domain selector.
DNS public key domain.
Email configuration.
Signs the message using DKIM (DomainKeys Identified Mail) signature.
You can call this method multiple times to have several DKIM signatures present in the resulting message.
RSA class containing private key used for signing.
DKIM signature information.
Email configuration.
Signs the message with multiple DKIM (DomainKeys Identified Mail) signatures.
List of RSA keys and signature infos.
/// Email configuration.
Creates new object.
Email object.
Creates new SMTP configuration for this message with localhost set as a server.
Email configuration for SMTP server connection.
Creates new SMTP configuration for this message with specified server address.
Server address.
Email configuration for SMTP server connection.
Sends the message using provided SMTP client instance.
Result of the sending operation. You can examine property to check if the operation succeed.
SMTP client connection should be already opened and user logged in if required.
SMTP client instance used for sending.
Represents SMTP connection configuration.
Sets host name. IP address can also be used.
You can use method to specify non default port.
Host name or IP address.
SMTP connection configuration.
Instructs to use secure SSL connection.
Changes port to default SSL port (465) for SMTP protocol.
SMTP connection configuration.
Instructs to use secure SSL connection.
Changes port to default SSL port (465) for SMTP protocol.
Event which is called for custom server validation.
SMTP connection configuration.
Sets the port on which connection will be made.
Port number.
SMTP connection configuration.
Sets the SMTP server credentials.
User name.
User's password.
SMTP connection configuration.
Sends the message.
Result of the sending operation. You can examine property to check if the operation succeed.
SMTP connection is created, opened, and closed.
Allows creation and sending emails using fluent interface syntax.
Creates new plain text email.
Email content.
Email configuration.
Creates new HTML email.
Email content in HTML format.
Email configuration.
You can use this class to forward an email.
Gets or sets plain text version of the reply template.
Template sample:
[Text]
On [Original.Date] [Original.Sender.Name] wrote:
[QuoteText]
Gets or sets HTML version of the reply template.
Template sample:
Gets or sets reply template for the subject.
Template sample:
RE: [Original.Subject]
Gets a dictionary of additional template keys, that are used when rendering subject and text templates.
Gets or sets the value that specifies if collection is copied to resulting email.
Gets or sets plain text version of the reply. Please remember that setting will override plain text.
Gets or sets HTML version of the reply. Extracts plain text from HTML and also sets property.
Gets or sets a value indicating if plain text version of a body is extracted from HTML when property is set.
Default is true.
Creates new ForwardBuilder object.
Original email to reply to.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From mailbox used for forwarding (the address from which the forward will be sent).
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From address used for forwarding (the address from which the forward will be sent).
MailBuilder class that can be used to create an actual email.
Generic priority of the message.
Message priority can be stored used three different headers: , and .
This enum is used by method, which checks all those headers.
Message has low priority.
Message has normal priority.
Message has high priority.
Represents global configuration settings.
Gets or sets DNS server address.
This address is used for DKIM queries.
Represents address comparision mode.
s are compared using case sensitive comparison and s are compared using case insensitive comparison.
s are compared using case sensitive comparison and s are compared using case insensitive comparison.
Both s and s are compated using case insensitive comparison.
Represent address header rendering mode.
This constant is primarly used to define how BCC headers is rendered.
No header is rendered at all.
Header's key is rendered only. E.g. "Bcc: ".
Header is rendered in full, including the value. E.g. "Bcc: secret@example.com".
Contains helper methods for content-id operations.
Decodes Content-ID in URL format ('a%25b@c').
Converts %hh hex-escaped characters to their ASCII equivalents.
Content-ID for decoding.
Decoded Content-ID value ('a%b@c').
If url is "cid" URL ('cid:a%25b@c') method returns true.
Address to check.
True if href is cid url, false otherwise.
If url is "cid" URL ('cid:a%25b@c') method returns decoded Content-ID message header ('a%b@c').
Converts %hh hex- escaped characters to their ASCII equivalents.
Address to extract content id from.
Content-ID message header -or- null if url is NOT "cid" URL.
Represents content type of the message (E.g. "text/plain").
You can use static fields of this class such as: , or .
Represents text/plain content type.
Represents text/html content type.
Represents text/rtf content type.
Represents application/rtf content type.
Represents text/xml content type.
Represents text/csv content type.
Represents application/octet-stream content type.
Represents application/msword content type.
Represents application/vnd.ms-excel content type.
Represents application/vnd.ms-powerpoint content type.
Represents multipart/Mixed content type.
Represents multipart/related content type.
Represents multipart/alternative content type.
Represents multipart/signed content type.
Represents multipart/report content type.
Represents application/mac-binhex40 content type.
Represents application/mac-binhex content type.
Represents application/binhex content type.
Represents application/applefile content type (aka AppleSingle).
Starts with or .
Represents application/applesingle content type.
Starts with or .
Represents application/appledoubleheader content type.
Starts with or .
Represents multipart/appledouble content type.
Contains AppleDoubleHeader part and data part.
Represents TNEF content type: application/Ms-Tnef.
Represents official TNEF content type: application/vnd.ms-tnef.
Represents application/pdf content type.
Represents application/zip content type.
Represents application/gzip content type.
Represents text/calendar content type.
Represents application/ics content type.
Represents text/vcard content type.
Represents message/partial content type. You can use to joined split emails.
Represents message/rfc822 content type.
Represents text/rfc822-headers content type.
Represents message/global content type.
Represents message/global-headers content type.
Represents message/delivery-status content type.
Represents message/xdelivery-status content type.
Represents message/global-delivery-status content type.
Represents message/disposition-notification content type.
Represents image/jpeg content type.
Represents image/png content type.
Represents image/gif content type.
Represents image/bmp content type.
Represents image/tiff content type.
Represents application/x-pkcs7-signature content type (detached signature).
Represents application/pkcs7-signature content type (detached signature).
Represents application/pkcs7-mime content type (encrypted message, attached signature).
Represents application/x-pkcs7-mime content type (encrypted message, attached signature).
Creates new content type instance.
Mime type.
Mime subtype
Type name of content.
Subtype name of content.
Returns 'mime type name'/'mime subtype name' string.
MimeTypeName/MimeSubtypeName
Determines whether the specified object is equal to the current one.
The to compare with the current true if the specified object is equal to the current object; otherwise, false.
Determines whether the specified object is equal to the current object.
The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Determines whether two objects are equal.
First object to compare.
Second object to compare.
if the specified objects are equal; otherwise, .
Determines whether two objects are not equal.
First object to compare.
Second object to compare.
if the specified objects are not equal; otherwise, .
Returns hash code for this instance.
Hash code.
Parses specified string and creates new object.
String in format: type/subtype
New object.
Specifies if the disposition described by the disposition type was a result of an manual or automatic action.
You can use static fields of this class: , .
The disposition described by the disposition type was a result of an explicit instruction
by the user rather than some sort of automatically performed action.
The disposition described by the disposition type was a result of an automatic action,
rather than an explicit instruction by the user for this message.
Specifies if the Message Delivery Notification (MDN) was sent manually or automatically.
You can use static fields of this class: , .
The user explicitly gave permission for this particular Message Delivery Notification (MDN) to be sent.
The Message Delivery Notification (MDN) was sent because the Mail User Agent (MUA) had previously been configured to do so automatically.
Describes disposition type of the message (RFC 2298, RFC 3798)
You can use static fields of this class: , .
The message has been displayed by the Mail User Agent (MUA) to someone reading the recipient's mailbox.
There is no guarantee that the content has been read or understood.
The message has been deleted. The recipient may or may not have seen the message.
The recipient might "undelete" the message at a later time and read the message.
The message has been sent somewhere in some manner (e.g., printed, faxed, forwarded)
without necessarily having been previously displayed to the user.
The user may or may not see the message later.
The message has been processed in some manner (i.e., by some sort of rules or server) without being displayed to the user.
The user mayor may not see the message later, or there may not even be a human user associated with the mailbox.
The recipient does not wish the sender to be informed of the message's disposition.
A UA may also siliently ignore message disposition requests in this situation.
A failure occurred that prevented the proper generation of an MDN.
More information about the cause of the failure may be contained in a Failure field.
The "failed" disposition type is not to be used for the situation in which there is is some problem in processing the message
other than interpreting the request for an MDN.
The "processed" or other disposition type with appropriate disposition modifiers is to be used in such situations.
Indicates the action performed by the Reporting-MTA as a result of its attempt to deliver the message.
You can use static fields of this class: , , , , .
Indicates that the message could not be delivered to the recipient.
The Reporting MTA has abandoned any attempts to deliver the message to this recipient.
No further notifications should be expected.
Indicates that the Reporting MTA has so far been unable to deliver or relay the message, but it will continue to attempt to do so.
Additional notification messages may be issued as the message is further delayed or successfully delivered,
or if delivery attempts are later abandoned.
Indicates that the message was successfully delivered to the recipient address specified by the sender,
which includes "delivery" to a mailing list exploder.
It does not indicate that the message has been read.
This is a terminal state and no further DSN for this recipient should be expected.
Indicates that the message has been relayed or gatewayed into an environment that does not accept responsibility
for generating DSNs upon successful delivery.
This action-value SHOULD NOT be used unless the sender has requested notification of successful delivery for this recipient.
Indicates that the message has been successfully delivered to the recipient address as specified by the sender,
and forwarded by the Reporting-MTA beyond that destination to multiple additional recipient addresses.
An action-value of "expanded" differs from in that "expanded" is not a terminal state.
Further "failed" and/or "delayed" notifications may be provided.
Represents extended domain information.
Used to describe and parts of headers.
Gets or sets domain.
Gets or sets domain from TCP-info (Information derived by server from TCP connection; not client EHLO).
Gets or sets address from TCP-info (Information derived by server from TCP connection; not client EHLO).
Represents collection of all MIME headers.
Gets or set the header value for specified header key.
Header key.
Value for specified header key.
Gets all MIME header keys stored in this collection.
Returns the total number of elements stored in this collection.
Gets the values associated with the specified key.
The string key of the entry that contains the values to get.
A string array that contains the values associated with the specified key.
Gets the unfolded (new lines removed) value associated with the specified key.
The string key of the entry that contains the value to get.
A string that contains the value associated with the specified key.
Gets the unfolded (new lines removed) values associated with the specified key.
The string key of the entry that contains the values to get.
A string array that contains the values associated with the specified key.
Adds value for specified header key.
Header key.
Value for specified header key.
Removes all headers for specified header key. Updates listener for that key.
Header key.
Implements 'Base64' and 'Quoted-Printable' header decoding (RFC 2047), removes comments and replaces escape sequences.
Decodes Base64 and Quoted-Printable strings (RFC 2047).
"Tom and =?iso-8859-2?Q?Pawe=B3_Le=B6nikowski?= are..."
"Tom and Paweł Leśnikowski are..."
The charset is not supported by the current regional options of the computer executing this method.
Implements 'Base64' and 'Quoted-Printable' header encoding (RFC 2047).
Gets encoder configuration.
Creates new HeaderEncoder object.
Encoding used.
Encodes header values. Uses 'Quoted-Printable' or 'Base64', whichever is best.
Header value to encode.
Encoded header.
Represents configuration.
Gets or sets the maximum length of the first encoded-word.
Gets or sets the maximum length of the encoded-words.
Header encoding format.
Base64 encoding.
7 bit encoding.
Quoted Printable encoding.
Represents MIME entity header render mode.
Quoted-Printable and Base64 encoded-words (RFC 2047) are used when rendering UTF-8 data.
Addresses are rendered using combination of encoded-words and punycode.
UTF-8 rending mode.
Content-Disposition header interface.
Gets or sets options value for specified key.
Options key.
Options value.
Gets of sets disposition of content.
Suggested filename ('filename' parameter). May be null.
Consider using as it is guaranteed to contain valid file name.
It is important that you should not blindly use the suggested filename.
The suggested filename SHOULD be checked (and possibly changed)
to see that it conforms to local file system conventions,
does not overwrite an existing file, and does not present a security problem.
Represents 'Content-type' header.
You can use this class to add additional options to content-type header
Content type value. May be null.
Gets or sets additional options in this header.
Options key.
Options value.
Suggested filename ('name' parameter). May be null.
Consider using as it is guaranteed to contain valid file name.
It is important that you should not blindly use the suggested
filename. The suggested filename SHOULD be checked (and possibly
changed) to see that it conforms to local file system conventions,
does not overwrite an existing file, and does not present a security
problem.
Represents list id.
Gets the display name of this list.
Gets the id of this list.
Creates new ListID object instance.
List id.
Creates new ListID object instance.
List id.
List name.
Encodes and escapes all necessary data and renders this id as a string.
Header render mode ( (which uses encoded words) or ).
This object rendered as string.
Creates new object using specified id and display name.
This method in contrast to constructor doesn't perform any kind of validation.
List id.
List name.
New ListID object.
Represents base class for email addresses.
You can use to represent single mailbox, or to represent a group of email addresses.
Consider using method to extract (es) represented by this email address.
You can use class to parse raw string into its object representation.
Gets display name of this emmail address e.g. "John Smith". Can by null.
Please note that two classes inherit from this class - you can use or properties to get email address(es).
Consider using method to extract (es) represented by this email address.
Encodes and escapes all necessary data and renders this email address as a string.
This object rendered as string.
Encodes and escapes all necessary data and renders this email group as a string.
Header render mode ( (which uses encoded words and puny code) or ).
This object rendered as string.
Gets all mailboxes represented by this email address.
List of mailboxes represented by this email address.
Email address parser.
It can be used to parse raw strings and create its or representation.
Parses text, and creates new object.
String to parse.
New object.
Parses text, and creates a list of new objects.
String to parse.
New list of objects.
Represents mailbox that consists of email address and display name.
Gets email address e.g. "john.smith@example.com".
Gets the domain part of the e.g. "example.com".
Gets the local part of the e.g. "john.smith".
Creates new MailBox object using specified email address and display name.
Email address.
Display name.
Creates new MailBox object using specified email address.
Email address.
Creates new object using specified email address and display name.
This method in contrast to constructor doesn't perform any kind of address validation.
Email address.
Display name.
Newly created MailBox object.
Creates new object using specified email address and no display name.
This method in contrast to constructor doesn't perform any kind of address validation.
Email address.
Newly created MailBox object.
Encodes and escapes all necessary data and renders this mailbox as a string.
This object rendered as string.
Encodes and escapes all necessary data and renders this email as a string.
Header render mode ( (which uses encoded words and puny code) or ).
This object rendered as string.
Returns string containing the Name and the Address.
String containing the Name and the Address
Checks if addresses of two instances are equal.
s are compared using case sensitive comparison and s are compared using case insensitive comparison.
First object to compare.
Second object to compare.
True if addresses are equal, false otherwise.
Checks if addresses of two instances are equal.
First object to compare.
Second object to compare.
Address comparision mode.
True if addresses are equal, false otherwise.
Gets all mailboxes represented by this mail address.
List of mailboxes containing only this mailbox.
Represents mail address group that consists of a and list.
Gets all mail addresses in this group.
Creates new MailGroup object.
Group name.
Addresses in this group.
Creates new empty group.
Group name.
Encodes and escapes all necessary data and renders this email group as a string.
This object rendered as string.
Encodes and escapes all necessary data and renders this email group as a string.
Header render mode ( (which uses encoded words and puny code) or ).
This object rendered as string.
Returns string containing the Name and all .
String containing the Name and all .
Gets all mailboxes represented by this mail group.
List of mailboxes represented by this group and all child groups.
Represents type of action which mail user agent should take to present the specified data to the user.
(RFC 2183)
You can use static fields of this class: , .
Data should be displayed to the user.
This is attachment.
Mime encoding format.
You can use static fields of this class: , , , .
No encoding transformation has been performed.
7-bit encoding refers to data that is all represented as relatively short lines with 998 octets or less between CRLF line separation.
No octets with decimal values greater than 127 are allowed and neither are NULs (0).
CR (13) and LF (10) octets only occur as part of CRLF line separation sequences.
(RFC 2045 2.7)
No encoding transformation has been performed.
8-bit encoding refers to data that is all represented as relatively short lines with 998 octets or less between CRLF line separation.
No octets with decimal values greater than 127 are allowed and neither are NULs (0).
CR (13) and LF (10) octets only occur as part of CRLF line separation sequences.
(RFC 2045 2.7)
No encoding transformation has been performed.
Binary encoding refers to data where any sequence of octets whatsoever is allowed.
(RFC 2045 2.7)
Represents quoted-printable encoding.
Represents base64 encoding.
Represents UUE encoding (Unix to Unix encoding).
Represents UUE encoding (Unix to Unix encoding).
Importance of email message.
You can use static fields of this class: , , .
High importance.
Normal importance.
Low importance.
Priority of email message.
You can use static fields of this class: , , .
Urgent priority.
Normal priority.
Non urgent priority.
Represents report type.
You can use static fields of this class: , .
"delivery-status" type.
Delivery Status Notification.
"disposition-notification" type.
Notification of the "disposition" of a message - indicating, for example, whether it is read by a recipient, discarded before being read.
Sensitivity of email message.
You can use static fields of this class e.g. , , .
Message is personal.
Message is private.
Message is company confidential.
Represents content's subtype (RFC 2045).
Consider using static fields of class, such as: , , .
'?/plain' subtype.
'?/html' subtype.
'?/related' subtype.
'?/mixed' subtype.
'?/alternative' subtype.
'?/digest' subtype.
'?/report' subtype.
'?/appledouble' subtype.
'?/applefile' subtype.
'?/partial' subtype.
'?/rfc822' subtype.
'?/rfc822-headers' subtype.
'?/signed' subtype.
'?/delivery-status' subtype.
'?/xdelivery-status' subtype.
'?/disposition-notification' subtype.
'?/octet-stream' subtype.
'?/jpeg' subtype.
'?/richtext' subtype.
'?/rtf' subtype.
'?/xml' subtype.
'?/csv' subtype.
'?/gif' subtype.
'?/tiff' subtype.
'?/bmp' subtype.
'?/png' subtype.
?/pdf subtype.
'?/mpeg' subtype.
'?/mp4' subtype.
'?/zip' subtype.
'?/x-zip-compressed' subtype.
'?/gzip' subtype.
'?/x-gzip' subtype.
'?/ms-tnef' subtype.
'?/vnd.ms-tnef' subtype.
'?/calendar' subtype.
'?/vcard' subtype.
'?/x-vcard' subtype.
'?/directory' subtype.
'?/msword' subtype.
'?/vnd.ms-excel' subtype.
'?/vnd.ms-powerpoint' subtype.
'?/pkcs7-signature' subtype.
'?/x-pkcs7-signature' subtype.
'?/pkcs7-mime' subtype.
'?/x-pkcs7-mime' subtype.
Creates new MimeSubtype instance.
Subtype string.
Represents content's type (RFC 2045).
Consider using static fields of class, such as: , or .
'application/?' type.
'text/?' type.
'multipart/?' type.
'message/?' type.
'image/?' type.
'audio/?' type.
'model/?' type.
'video/?' type.
Creates new MimeType instance.
Type string.
Represents single 'received' header of the email.
Gets or sets From part.
Gets or sets By part.
Gets or sets Via part.
Gets or sets With part.
Gets or sets Id part.
Gets or sets For part.
Gets or sets Date part.
Initializes a new instance of the class.
Returns the string representation of this object.
String representation of this object.
Represents an error that occurred during html parsing.
Initializes new instance of HtmlException with serialized data.
Serialized object data.
Contextual information.
This class provides simple access to email message.
Use class to create this object.
It is possible to access entire MIME tree using property.
Gets the entire object associated with this email message.
Gets or sets the subject of this email message ('Subject' header). May be null.
Gets or sets MIME version of this email message ('MIME-version' header).
Gets or sets id of this email message ('Message-ID' header). Does not include surrounding brackets (< and >).
Gets or sets the message-id of the parent email message ('In-Reply-To' header). Does not contain surrounding brackets (< and >).
Gets the ids of the referenced email messages. Does not include surrounding brackets (< and >).
This collection can be modified. May be empty.
Gets the boolean value indicating if this message is a reply.
Gets the boolean value indicating if this message was forwarded.
Gets the boolean value indicating if this message was split (MIME document root is of type ).
Gets the unique identifier to be used to match the parts together.
Gets the author(s) of this email message ('From' header).
This collection can be modified. If it's empty, email message is NOT RFC 2822 compliant.
Gets or sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
If 'Sender' is null, it returns first item from collection.
'Sender' is not required if property contains only one .
'Sender' property is needed when message is from more than one person ( contains more than one mailbox).
In such case Sender provides information which mailbox is responsible for the actual transmission.
Gets or sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
'Sender' is not required if property contains only one .
'Sender' property is needed when message is from more than one person ( contains more than one mailbox).
In such case Sender provides information which mailbox is responsible for the actual transmission.
Gets the address(es) to which the author of this email message suggests that replies be sent ('Reply-to' header).
In this collection you can find which represents single mailbox, or which represents group of email addresses.
This collection can be modified. May be empty.
The Reply-To value should not be used by any server. It is meant for client side use.
Gets the address(es) of the primary recipient(s) of this email message ('To' header).
In this collection you can find which represents single mailbox, or which represents group of email addresses.
This collection can be modified. May be empty.
You can use Linq's To.SelectMany(address => address.GetMailboxes()) to retrieve list.
Gets the address(es) of others who are to receive this email message ('CC', Carbon Copy header), even tough the content of the message may not be directed at them.
In this collection you can find which represent single mailbox, or which represents group of email addresses.
This collection can be modified. May be empty.
You can use Linq's Cc.SelectMany(address => address.GetMailboxes()) to retrieve list.
Gets the address(es) of others who are to receive this email message ('BCC', Blind Carbon Copy header), even tough the content of the message may not be directed at them.
In this collection you can find which represents single mailbox, or which represents group of email addresses.
This collection can be modified. May be empty.
BCC header is not rendered when method is used, however it is rendered when message is saved using method.
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
If the recipient in the SMTP envelope ("RCTP TO") is not included in the CC list,
some mail servers add this header as an aid to clients which would otherwise not be able to display the envelope recipients.
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
If the recipient in the SMTP envelope ("RCTP TO") is not included in the CC list,
some mail servers add this header as an aid to clients which would otherwise not be able to display the envelope recipients.
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
If the recipient in the SMTP envelope ("RCTP TO") is not included in the CC list,
some mail servers add this header as an aid to clients which would otherwise not be able to display the envelope recipients.
Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
If the sender in the SMTP envelope ("MAIL FROM") is not the same as the senders in the "From" or "Sender" RFC 2822 header fields,
some mail servers add this header as an aid to clients which would otherwise not be able to display the envelope sender.
Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
If the sender in the SMTP envelope ("MAIL FROM") is not the same as the senders in the "From" or "Sender" RFC 2822 header fields,
some mail servers add this header as an aid to clients which would otherwise not be able to display the envelope sender.
Gets the disposition notifications addresses ('Disposition-Notification-To' header). This collection can be modified. May be empty.
Gets return receipt addresses ('Return-Receipt-To' header). This collection can be modified. May be empty.
Gets confirm reading addresses ('X-Confirm-Reading-To' header). This collection can be modified. May be empty.
Gets or sets return path address ('Return-Path' header). Does not include brackets (< and >).
All bounces that occur during the SMTP session should go back to the Return-Path value.
The recipient's mail server is supposed to add a Return-Path header to the top of the email.
If Return-Path header already exists in the email, then that header should be replaced by the recipient's mail server.
Gets or sets the send date of this email message ('Date' header).
May be null in case of parsing error or when 'Date' header is missing.
Gets URL list of mailing list archive ('List-Archive' header). This collection can be modified. May be empty.
Gets URL list for mailing list information ('List-Help' header). This collection can be modified. May be empty.
Gets or sets mailing list identifier ('List-Id' header).May be null.
Gets URL list for mailing list owner's mailbox ('List-Owner' header). This collection can be modified. May be empty.
Gets URL list for mailing list posting ('List-Post' header). This collection can be modified. May be empty.
Gets URL list for mailing list subscription ('List-Subscribe' header). This collection can be modified. May be empty.
Gets list of URLs ("http://www.example.com/unsubscribe") or emails ("mailto:unsubscribe@lexample.com") for mailing list unsubscription ('List-Unsubscribe' header).
This collection can be modified. May be empty.
Gets or sets the importance of this email message ('Importance' header).
Consider using as it also checks and properties.
Gets or sets the priority of this email message ('Priority' header).
Consider using as it also checks and properties.
Gets or sets the X-Priority of this email message ('X-Priority' header) (Outlook specific).
Value ranges from "1" to "5" where "1" is the highest priority, "3" is normal, and "5" is the lowest priority.
Consider using as it also checks and properties.
Gets or sets the sensitivity of this email message ('Sensitivity' header)
Gets the list of all 'received' headers added to this email message.
Gets or sets the 'X-Tnef2Mime-MessageClass' value. May be null.
Gets or sets the 'X-Msg2Mime' value. It represents information if this email was created from MSG data.
Gets or sets the 'X-Msg2Mime-Creation-Time' value. It represents PR_CREATION_TIME. May be null.
Gets or sets the 'X-Msg2Mime-Message-Delivery-Time' value. It represents PR_MESSAGE_DELIVERY_TIME. May be null.
Gets or sets the 'X-Msg2Mime-Client-Submit-Time' value. It represents PR_CLIENT_SUBMIT_TIME. May be null.
MIME headers collection for root MIME entity.
Same as using Document.Root.Headers
Gets HTML version of this email message.
You can use method to extract plain text from HTML content.
You can also use or to obtain body in a specific format.
Gets RTF version of this email message.
RTF may be extracted from a TNEF attachment (winmail.dat) a proprietary e-mail attachment format used by Microsoft Outlook and Microsoft Exchange Server.
Gets plain text version of this email message.
For some HTML emails plain text may be not defined, you can use method to extract plain text from HTML content.
You can also use or to obtain body in a specific format.
Gets the object representing 'text/plain' body of this email message. May be null if no text/plain data is present.
You may use as a shortcut to retrieve plain text.
Gets the object representing 'text/html' body of this email message. May be null if no HTML data is present.
You may use as a shortcut to retrieve HTML text.
Gets the object representing 'text/rtf' or 'application/rtf' body of this email message. May be null if no RTF data is present.
You may use as a shortcut to retrieve RTF text.
This object may be created by TNEF to MIME parser from a TNEF attachment (winmail.dat) a proprietary e-mail attachment format used by Microsoft Outlook and Microsoft Exchange Server.
Gets HTML data of this email message. You can use method to extract plain text from HTML content.
Gets plain text data from this email message.
For some HTML emails plain text may be not defined, you can use method to extract plain text from HTML content.
You can also use or to obtain body in a specific format.
Returns true if body of this email message is specified in RTF format. You can use property to access RTF version of the body.
Returns true if body of this email message is specified in HTML format. You can use property to access HTML version of the body.
This property is not always negation of property. Both and may be true or false simultaneously.
Returns true if body of this email message is specified in plain text format. You can use property to access plain text version of the body.
This property is not always negation of property. Both and may be true or false simultaneously.
Gets the list of all visual elements (.Value equal to ) in this email message.
E.g. Images embedded inside HTML email.
You can use Visuals[string cid] to find the picture embedded in the HTML body using its content id ('Content-ID' header).
Gets the list of all non visual elements (.Value equal to ) in this email message.
E.g. Attached data files.
Gets the list of alternative elements in this email message.
E.g. if message is an appointment invitation.
Gets the list of all attachments in this email message.
Including , () and ().
Gets the list of all appointments in this email message.
Gets the list of all vCards in this email message.
Gets the list of all Message Disposition Notifications (MDNs) in this email message.
Gets the list of all Delivery Status Notifications (DSNs) in this email message.
Indicates if this email message has been DKIM (DomainKeys Identified Mail) signed.
Gets DKIM signature information from the first 'DKIM-Signature' header.
Gets DKIM signature information.
Indicates if this email message has been encrypted.
Indicates if this email message needs to be decrypted.
You can use , , to decrypt a message.
Decrypts the message.
Searches through certificate store to find appropriate certificate.
You can use to specify certificates and automatic email decryption.
Decrypted email message.
Decrypts the message.
Searches through specified certificates and certificate store to find appropriate certificate.
Certificates used for decryption.
Decrypted email message.
Decrypts the message using specified certificate for decryption.
Uses the specified certificate and certificate store to find appropriate certificate.
Certificate used for decryption.
Decrypted email message.
Decrypts the message using specified S/MIME configuration.
S/MIME configuration.
Decrypted email message.
Decrypts the message using specified MIME and S/MIME configuration.
Mime configuration.
Decrypted email message.
Indicates if this email message has been signed.
Indicates if this email message needs signed message extraction.
Verifies the digital signatures on the signed CMS/PKCS #7 email message and, optionally, validates the signers' certificates.
Checks also if the content was signed by the person that sent it.
A System.Boolean value that specifies whether only the digital signatures are verified
without the signers' certificates being validated.
If is true, only the digital signatures are verified.
If it is false, the digital signatures are verified, the signers' certificates are validated,
and the purposes of the certificates are validated.
The purposes of a certificate are considered valid if the certificate has no key usage or
if the key usage supports digital signatures or non repudiation.
Verifies the digital signatures on the signed CMS/PKCS #7 email message and, optionally, validates the signers' certificates.
Checks also if the content was signed by the person that sent it.
Signature validation configuration.
Gets the object for signed emails.
object.
Gets the object for encrypted emails.
object.
Computes the signature again.
Certificate used for signing.
Computes the signature again.
Signature configuration: such as certificate, algorithm etc.
Extracts signed message.
Extracted email message.
Extracts signed message using specified S/MIME configuration.
S/MIME configuration.
Extracted email message.
Extracts signed message using specified MIME and S/MIME configuration.
Mime configuration.
Decrypted email message.
Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message. Queries DNS server to get the public key.
True if signature was valid, otherwise.
Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message. Queries DNS server to get the public key.
DKIM validation configuration.
True if signature was valid, otherwise.
Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message.
RSA class containing public key used for signature validation.
True if signature was valid, otherwise.
Verifies the DKIM (DomainKeys Identified Mail) digital signature on this message.
RSA class containing public key used for signature validation.
DKIM validation configuration.
True if signature was valid, otherwise.
Signs this message using DKIM (DomainKeys Identified Mail) signature.
RSA class containing private key used for signing.
DKIM signature information (selector, domain).
Signs this message with multiple DKIM (DomainKeys Identified Mail) signatures.
List of RSA keys and signature infos.
Signs this message using DKIM (DomainKeys Identified Mail) signature.
RSA class containing private key used for signing.
Public key DNS selector (s=).
Public key DNS domain (d=).
Renders mail message using eml format.
BCC header is not rendered.
Message in eml format.
Renders mail message using eml format.
Specifies if BCC header should be rendered.
Message in eml format.
Renders mail message using eml format.
BCC header is not rendered.
Message in eml format.
Renders mail message using eml format.
Specifies how BCC header should be rendered.
Message in eml format.
Render mail message using eml format to specified stream.
BCC header is rendered.
Stream to render on.
Render mail message using eml format to specified stream.
Stream to render on.
Specifies how BCC header should be rendered.
Gets the estimated transport size of this message.
Estimated transport size of this message.
Saves email using eml format to specified file.
BCC header is rendered.
File to write to.
Returns body in HTML format. If is false this method uses property to create valid HTML.
Body of the message in HTML format.
Returns body in HTML format. If is false this method uses property to create valid HTML.
When inlineVisuals is set to true, all visual elements are inlined using 'data:' URI scheme.
Specifies if visuals should be inlined using 'data:' URI scheme.
Body of the message in HTML format.
Returns body in plain text format. Uses , or .
Body of the message as plain text.
Returns body in plain text format. Uses , or .
Specifies if text/plain or text/html inline parts should be added.
Body of the message as plain text.
This method is helpful for processing Apple Mail messages, which often have email text split across several text/plain parts.
Extracts plain text from . This text may be different from what is actually stored in the email's property.
HTML body converted to plain text.
Extracts plain text from . This text may be different from what is actually stored in the email's property.
RTF body converted to plain text.
Saves HTML version of the message as regular HTML file.
Saves all visual elements as files to the same folder.
If the message is plain text only, this method uses to create HTML from plain text.
Name of the resulting HTML file (e.g. "c:\\example\\email.html").
Saves HTML version of the message as regular HTML file.
When inlineVisuals is set to true: all visual elements are inlined using data: URI scheme, instead of being saved to disk.
If the message is plain text only, this method uses to create HTML from plain text.
Name of the resulting HTML file (e.g. "c:\\example\\email.html").
Specifies if visuals should be inlined using data: URI scheme, or saved to disk.
Sets to 1, to and
to
Sets to 5, to and
to
This method copies or addresses to all read receipts lists.
Read receipts are stored using , and headers.
Read receipt requests may not always be honored because:
Email client may not recognize the special Disposition-Notification-To header; Email client may not implement that functionality; End user may have that functionality turned off; End user may optionally not choose to send one for your particular email;
Gets addresses to which read receipt should be send.
It uses , and header.
Duplicates are removed. It returs an empty list, if read receipt was not requested.
Addresses to which read receipt should be send or an empty list, if read receipt was not requested.
Gets message priority.
It checks following headers in the specified order: , , .
Priority of the message.
Creates configured to reply to this email.
ReplyBuilder that can be used to create a reply.
Creates configured to forward this email.
ForwardBuilder that can be used to create a forwarded email.
Extracts attachments from this message and all attached messages ( objects with content type).
List of all attachments in this email message and all attached messages.
It contains both and attachments ( collection).
Creates new, fully initialized instance, with all data imported from this email object.
New, fully initialized MailBuilder instance.
Removes all attachments (NonVisuals) and visual elements from this email.
Same as invoking RemoveAttachments(new AttachmentRemoverConfiguration()).
Removes attachments and visual elements from this email, according to configuration settings.
Specifies configuration options, such as if visual elements should be removed.
Replaces all attachments (NonVisuals) and visual elements with text indicating that attachment/visual was removed.
Replaces attachments and visual elements with text indicating that attachment/visual was removed, according to configuration settings.
Specifies configuration options, such as text templates.
Interface for read-only access to MimeData collection.
Gets or set object with specified content-id.
Gets or set object at specified index.
Gets the number of elements stored in the collection.
Performs specified action on each element of the collection.
Action that will be performed on each element of the collection.
Finds first element that matches specified predicate.
Predicate used to find an element.
Found element.
Finds all elements that matches specified predicate.
Predicate used to find elements.
Found elements.
Determines whether element is in this collection.
Element to check.
Boolean value indicating whether element is in this collection.
Creates a new list that contains all elements from this collection.
New list that contains elements from this collection.
Utility class for license related functions.
Sets a value indicating whether the key should be persisted in the computer's key store instead of the user profile store.
true if the key should be persisted in the computer key store; otherwise, false.
Returns the file path used to load the license file.
License file path.
Gets the status of the license file.
License file status.
Represents the status of license validation.
There was no attempt to load and check the license file yet.
There is no license file in appropriate folder.
Please check the value of method and place your license there.
License was loaded, but is invalid.
License was loaded, but the XML is invalid.
License was loaded, but it has invalid signature.
License was loaded, but the XML is not a license.
License was loaded, but an exception occurred.
License was loaded and is valid.
Valid license was loaded, but was it revoked.
Your license doesn't cover this version - it was released after your support expired.
Represents HTML loading configuration.
Gets or set the value indicating if local images should be converted to .
Default is true.
Gets or set the base folder to search images in. Default is ".".
Gets or set the value indicating if data uris should be converted to .
Default is false.
Initializes new HTML loading configuration class.
Represents Mail.dll log. Use property to turn on logging.
You can use following xml in your configuration file to log to file:
Gets or sets the maximum amount of bytes to be logged when logging single data command for IMAP and SMTP.
is default.
You can subscribe your logging library to this event.
Gets or sets a value indicating whether logging is enabled or disabled.
You can observe the log on standard VS output -or- subscribe to event -or- use application's config file to turn on logging and add your own listeners.
Provides methods for object creation.
You should use if you already have an eml data downloaded via or client.
You should use other properties and method to create message that you'll send using client.
Gets the list of all non visual elements. You can use method to add attachment to this collection.
Gets the list of all visual elements. You can use method to add attachment to this collection.
Gets the list of all alternative elements. You can use or methods to add attachment to this collection.
Gets or sets plain text version of the email. Please remember that setting will override plain text.
Gets or sets HTML version of the email.
If value is not empty extracts plain text from HTML and overrides property.
Gets or sets RTF version of the email.
If value is not empty extracts plain text from RTF and overrides property.
Gets or sets subject of a message ('Subject' header).
Gets or sets id of a email message ('Message-ID' header). Does not include surrounding brackets (< and >).
If not set or set to null generated automatically.
Gets unique ids () of the referenced email messages ('References' header). Does not include brackets (< and >).
Gets or sets the id of the parent email message ('In-Reply-To' header). Does not include surrounding brackets (< and >).
Gets the author(s) of this email message ('From' header).
If it's empty, email message is NOT RFC 2822 compliant.
Gets or sets mailbox of the agent responsible for the actual transmission of this email message ('Sender' header).
'Sender' is not required if property contains only one .
'Sender' property is needed when message is from more than one person ( contains more than one mailbox).
In such case Sender provides information which mailbox is responsible for the actual transmission.
Gets email address(es) to which the author of this email message suggests that replies be sent ('Reply-to' header).
You can use to represent single mailbox, or to represent group of email addresses.
Gets address(es) of the primary recipient(s) of this email message ('To' header).
You can use to represent single mailbox, or to represent group of email addresses.
Gets the address(es) of others who are to receive this email message ('CC', Carbon Copy header), even tough the content of the message may not be directed at them.
You can use to represent single mailbox, or to represent group of email addresses.
Gets the address(es) of others who are to receive this email message ('BCC', Blind Carbon Copy header), even tough the content of the message may not be directed at them.
You can use to represent single mailbox, or to represent group of email addresses.
BCC header is not rendered when method is used, however it is rendered when message is saved using method.
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Gets or sets the address of the recipient taken from the SMTP envelope (SMTP "RCTP FROM").
Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
Gets or sets the address of the sender taken from the SMTP envelope (SMTP "MAIL FROM").
Gets the disposition notifications address(es) ('Disposition-Notification-To' header).
Consider using method instead of adding addresses to this property.
Gets return receipt address(es) ('Return-Receipt-To' header).
Consider using method instead of adding addresses to this property.
Gets confirm reading address(es) ('X-Confirm-Reading-To' header).
Consider using method instead of adding addresses to this property.
Gets or sets return path address ('Return-Path' header). Does not include brackets (< and >).
Gets or sets the send date of a email message ('Date' header).
If null, is set automatically to current date and time when method is used.
Gets or sets the importance of a email message ('Importance' header).
Consider using or methods instead of setting this field.
Gets or sets the priority of a email message ('Priority' header).
Consider using or methods instead of setting this field.
Gets or sets the X-Priority of this email message ('X-Priority' header) (Outlook specific).
Value ranges from "1" to "5" where "1" is the highest priority, "3" is normal, and "5" is the lowest priority.
Consider using or methods instead of setting this field.
Gets or sets the sensitivity of a email message ('Sensitivity' header).
Gets or set the value indicating whether default values (, , ) should be set.
Default is true.
Gets or sets S/MIME configuration (automatic decryption, signed message extraction, certificates used for decryption and signature validation).
Gets MIME configuration (automatic binhex, apple, uue, tnef, rfc822 processing).
Gets or sets a value indicating if TNEF attachments (winmail.dat) should be processed.
TNEF processing extracts attachments and RTF data from TNEF file and removes TNEF from attachments collections afterwards.
Default is true.
Gets or sets a value indicating if inline UUE attachments should be extracted.
Default is true.
Gets or sets a value indicating if text representation of inline UUE attachments should be removed from .
Default is false. This property has no affect if is set to false.
Gets or sets a value indicating if file stored in BinHex attachments () should be extracted.
Default is true.
Gets or sets a value indicating if files stored in AppleSingle () and AppleDouble () entities should be extracted.
Default is true.
Gets or sets a value indicating if message (, ) being a single root should be extracted.
Default is true.
Gets or sets a value indicating if plain text version of a body is extracted from HTML when ot property is set.
Default is true.
Creates new MailBuilder object.
Adds custom header that will be added to object after creation.
Header name.
Header value.
Signs the message.
Certificate used for signing.
Signs the message.
Signature configuration: such as certificate, algorithm etc.
Encrypts the message using specified certificate.
You can call this method multiple times to use several certificates for encryption.
General rule is that both sender and receiver should be able to decrypt the message.
Certificate to use for encryption.
Encrypts the message using specified encryption configuration.
Encryption configuration: such as certificates, algorithm etc.
Signs the message using DKIM (DomainKeys Identified Mail) signature.
You can call this method multiple times to have several DKIM signatures present in the resulting message.
RSA class containing private key used for signing.
DNS public key domain selector.
DNS public key domain.
Signs the message using DKIM (DomainKeys Identified Mail) signature.
You can call this method multiple times to have several DKIM signatures present in the resulting message.
RSA class containing private key used for signing.
DKIM signature information.
Signs the message with multiple DKIM (DomainKeys Identified Mail) signatures.
List of RSA keys and signature infos.
Sets to 1, to and to
Sets to 5, to and to
This method copies or addresses to all read receipts lists, just before email is created (using method).
Read receipts are stored using , and headers.
Read receipt requests may not always be honored because:
Email client may not recognize the special Disposition-Notification-To header; Email client may not implement that functionality; End user may have that functionality turned off; End user may optionally not choose to send one for your particular email;
Adds attachment. Data are read from the specified file.
The file to read data from.
Newly added attachment.
Adds attachment with specified data.
Data that will be contained in newly added attachment.
Newly added attachment.
Adds attachment.
Attachment to add.
Adds visual object. Data are read from the specified file.
The file to read data from.
Newly added visual object.
Adds visual object with specified data.
Data that will be contained in newly added visual object.
Newly added visual object.
Adds visual object.
Visual attachment to add.
Adds alternative view for this message.
Data that will be contained in newly added alternative view.
Newly added alternative view.
Adds alternative view for this message.
Alternative view to add.
Adds specified appointment as alternative view for this message.
Appointment to add.
Newly created MimeCalendar object.
Adds specified VCARD as attachment to this message.
VCard business card to add.
Newly created MimeVCard object.
Creates new using builder configuration.
New object.
Creates new using specified MIME document.
MIME document.
New object.
Creates new using specified eml raw data string.
Raw eml data string.
New object.
Creates new using specified eml raw data.
Raw eml data.
New object.
Loads raw eml data from file and creates new object.
Usually email files have *.eml extension.
The file to read raw eml data from.
New object.
Sets HTML version of the message.
Modifies passed HTML, so that img tags reference inline images.
Adds all images that can be found on disk to collection.
Extracts plain text from HTML and overrides property.
HTML to be set.
Sets HTML version of the message.
Modifies passed HTML, so that img tags reference inline images.
Adds all images that can be found on disk to collection.
Extracts plain text from HTML and overrides property.
HTML to be set.
Base folder to search images in.
Sets HTML version of the message.
Modifies passed HTML, so that img tags reference inline images.
Adds all images that can be found on disk to collection.
Extracts plain text from HTML and overrides property.
HTML to be set.
Configuration.
Represents an error that occurred during e-mail parsing.
Initializes new instance of MailException with serialized data.
Serialized object data.
Contextual information.
Factory class used to create instance.
Gets or set the value indicating whether default values (message-id, date) should be set.
Default is true.
Gets MIME configuration (automatic binhex, apple, uue, tnef, rfc822 processing).
Creates new from specified data.
No defaults are set regardless of value.
Byte array containing an email message.
New mail object.
Creates with specified MIME entity as root.
Sets default values for and when not defined and is set to true.
Root of the .
New mime document.
Creates new using specified MIME document.
Sets default values for and when not defined and is set to true.
MIME document.
New object.
Represents MIME tree processing configuration.
Gets or sets a value indicating if TNEF attachments (winmail.dat) should be processed.
TNEF processing extracts attachments and RTF data from TNEF file and removes TNEF from attachments collections afterwards.
Default is true.
Gets or sets a value indicating if inline UUE attachments should be extracted.
Default is true.
Gets or sets a value indicating if text representation of inline UUE attachments should be removed.
Default is false. This property has no affect if is set to false.
Gets or sets a value indicating if file stored in BinHex attachments () should be extracted.
Default is true.
Gets or sets a value indicating if files stored in AppleSingle () and AppleDouble () entities should be extracted.
Default is true.
Gets or sets a value indicating if message (, ) being a single root should be extracted.
Default is true.
Specifies if email headers from the outer message are copied to a extracted, inner email message.
Default is true.
Gets or sets S/MIME configuration (automatic decryption, signed message extraction, certificates used for decryption and signature validation).
Creates new MimeConfiguration object.
Represents MIME document tree.
Reference to the top most MIME object in this document.
Gets or sets MIME version ('MIME-version' header).
Gets DKIM signature information from the first 'DKIM-Signature' header.
Gets DKIM signature information.
MIME headers collection for root MIME entity.
Same as using Root.Headers
Renders the document.
Stream to render on.
Gets the estimated transport size of this MIME document.
Estimated transport size of this MIME document.
Factory class used to create instance.
Gets or set the value indicating whether default values (MIME-Version) should be set.
Default is true.
Gets MIME configuration (automatic binhex, apple, uue, tnef, rfc822 processing).
Creates new MimeDocumentFactory object.
Creates new from specified data.
No defaults are set regardless of value.
Byte array containing a MIME document.
New mime document.
Creates with specified MIME entity as root.
Sets default value for when not defined and is set to true.
Root of the .
New mime document.
Represents MIME entity that contains email message.
Gets parsed email message from this MIME object.
Represents SMIME entities that can store signed data and a signature.
Sets plain MIME entity and signs it using specified parameters.
Plain MIME entity.
Signature configuration: such as certificate, algorithm etc.
Gets the SignedCms instance stored in this container
SignedCms instance.
Computes the signature again.
Signature configuration: such as certificate, algorithm etc.
Implements 'multipart/alternative' MIME entity, e.g. email message containing both: 'text/html' and 'text/plain' representations of the same information.
Gets the simplest data representation (first).
'parts[0]' or null if 'parts.Count==0'.
Gets the most complicated data representation (last).
'Parts[Parts.Count-1]' or null if 'parts.Count==0'.
Represents MIME entity containing and data.
Gets apple single data stored in this MIME entity.
Implements basic mime entity logic. All MIME classes, created by inherit from this class.
Content type of the body.
is assumed when is false.
Gets boolean value indicating, if content-type is explicitly set on this entity.
Represents 'Content-type' header.
You can use this class to add additional options to content-type header.
Use to get or set content-type only.
Content location of this mime entity.
Content-ID of this entity. Without enclosing '<' and '>'.
You can use to extract content id from cid url.
E.g. 01@mobile
'Content-Disposition' of the data.
This object provides information on what you should do with the data.
MIME headers collection.
Renders this MIME object.
Stream to render on.
Gets the estimated transport size of this MIME entity.
Estimated transport size of this MIME entity.
Returns content-type of this MIME object.
Content-type of this MIME object (e.g. "text/plain").
Represents MIME entity containing data.
Gets BinHex data stored in this MIME entity.
Represents MIME entity containing text/calendar data.
Please use or methods to create objects of this type.
Gets or sets the appointment contained in this MIME entity.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a random file name in format "appointment.ics".
Gets or sets content type method.
Uploads data from specified file into this entity.
This method always resets and properties.
The file to read data from.
Represents MIME entity which contains raw byte data.
You can use or to create objects of this type.
You should use when attaching text files.
Gets or sets byte array contained in this MIME object.
Gets size of data contained in this MIME object.
Gets or sets suggested file name ( or ["name"]).
May be null or empty. Consider using as it is guaranteed to contain valid file name.
It is important that you should not blindly use the suggested filename.
The suggested filename SHOULD be checked (and possibly changed) to see that it conforms to local file system conventions,
does not overwrite an existing file, and does not present a security problem.
Gets a boolean value indicating if is set.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false)
generates random file name in format "att_d1be267b623941159a159158138a636e" and uses to establish correct extension.
Gets or sets 'Content-Transfer-Encoding' of the data.
This object provides information on how the data was encoded for transport purposes.
Gets X-Tnef2Mime-RenderingPosition header value.
This header is filled by TNEF to MIME parser with PR_RENDERING_POSITION MAPI value.
It indicates where in the message text the attachment should be rendered (in characters).
This property should not be used with Rich Text Format (RTF) text.
The rendering position is indicated in RTF by an escape sequence called the object attachment placeholder.
This sequence consists of the string \objattph followed by a single character, normally a space, that will be replaced by the attachment rendering.
Gets X-Rtf-RenderingPosition header value.
This header is filled by TNEF to MIME with PR_RENDERING_POSITION MAPI value or by MSG to MIME parser.
It indicates where in the message text the attachment should be rendered (in characters).
This property should not be used with Rich Text Format (RTF) text.
The rendering position is indicated in RTF by an escape sequence called the object attachment placeholder.
This sequence consists of the string \objattph followed by a single character, normally a space, that will be replaced by the attachment rendering.
Gets X-Tnef2Mime header value. This header is added by TNEF to MIME parser.
True means that this entity was extracted from .
Gets X-Uue2Mime header value. This header is added by UUE to MIME extractor.
True means that this entity was extracted from .
Gets X-BinHex2Mime header value. This header is added by BinHex to MIME extractor.
True means that this entity was extracted from .
Gets X-Apple2Mime header value. This header is added by Apple to MIME extractor.
True means that this entity was extracted from or entity.
Estimated transport size of this MIEM entity
Gets the estimated transport size of this MIME entity.
Bases on assumption that , and encoded files are 37% bigger in transport.
Estimated transport size of this MIME entity.
Uploads data from specified file into this entity.
This method always resets property.
The file to read data from.
Creates a new file with the specified name and saves into it.
The path and the name of the file to create.
Writes to specified stream. Stream must be open.
Stream to which will be written.
Creates new for accessing property.
New Object
Sets the and value if requested.
Suggested file name.
True if should be set based on the file name extension.
Newly added attachment.
Represents Delivery Status Notification (DSN) (message/delivery-status).
Provides indications of successful delivery or delivery failure.
Indicates the name of the Message Transfer Agent (MTA) which is reporting the results of delivery attempts described in this Delivery Status Notification (DSN).
Indicates the name of the Message Transfer Agent (MTA) from which the message was received.
Indicates the date and time at which the message arrived at the Reporting MTA.
Indicates the date field.
Gets all Delivery Status Notification for first recipient, or null if no recipient is found.
Gets all Delivery Status Notification for all recipient.
Gets or sets 'X-Tnef2Mime-Action' value.
Gets any field defined in this Delivery Status Notification (DSN) header.
Field name.
Field value
Implements 'multipart/digest' MIME entity, e.g. multiple email messages (RFC 2046).
Creates new object from specified part in collection.
If for specified part is different than returns null.
Part index in collection.
New object or null if specified part is not is different than , , or .
Factory class used to create MIME entities.
Splits raw eml data in to MIME headers and MIME body.
Raw eml data.
MIME headers.
MIME body.
Creates new empty object (or derived object such as based on the file extension).
Uploads data from specified file into newly created object.
The file to read data from.
New object loaded from file.
Creates new empty object using UTF8 encoding ().
New empty object.
Creates new object using UTF8 encoding and specified text ().
Text to fill new object with.
New object containing specified text.
Creates new empty object ().
New empty object.
Creates new object containing specified appointment ().
Appointment card to fill the new object with.
New object containing specified appointment.
Creates new empty object ().
New empty object.
Creates new object containing specified business card ().
Business card to fill the new object with.
New object containing specified business card.
Creates new object representing message/partial message ().
New empty object.
Creates new object representing RFC822 message ().
New empty object.
Creates new object representing RFC822 message ().
Message to fill the new object with.
New object containing specified message.
Creates new object representing RFC822 message headers ().
New empty object.
Creates new object representing RFC822 message headers ().
Message to fill the new object with.
New object containing specified message.
Creates new object representing RFC822 message ().
New empty object.
Creates new object representing RFC822 message ().
Message to fill the new object with.
New object containing specified message.
Creates new object representing RFC822 message headers ().
New empty object.
Creates new object representing RFC822 message headers ().
Message to fill the new object with.
New object containing specified message.
Creates new empty object ().
New object.
Creates new object ().
Data to be placed in newly created object.
New object.
Creates geenric empty object.
Content-Type of the created entity.
New object.
Creates new empty object ().
Root object.
New object.
Creates new empty object ().
Root object.
New object.
Creates new empty object ().
New object.
Creates new object () with specified parts.
Alternative objects.
New object.
Creates new empty object with ().
New object.
Creates new manual object ().
Disposition type.
New object.
Creates new automatic object ().
Disposition type.
New object.
Creates new object ().
Root of the mime tree to sign.
Certificate used for signing.
New object.
Creates new object ().
Root of the mime tree to sign.
Signature configuration: such as certificate, algorithm etc.
New object.
Creates new object representing pkcs7 detached signature ().
Signature data.
New object.
Represents Message Disposition Notifications (MDN) (message/disposition-notification)
Provides notification of the "disposition" of a message -
indicating, for example, whether it is read by a recipient or discarded before being read.
Indicates the recipient.
Gets original message id ('Original-Message-ID' field). Without surrounding brackets (< and >)
Specifies if the disposition described by the was a result of an manual or automatic action.
Specifies if the Message Delivery Notification (MDN) was sent manually or automatically.
Describes disposition type of the message. Such as or .
Gets or sets any field defined in this Message Delivery Notification (MDN).
Field name.
Field value
Represents MIME entity containing data.
Please use or methods to create objects of this type.
Gets or sets email message enclosed in this MIME object.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a file name in format "message.eml".
Represents MIME entity containing data.
Please use or methods to create objects of this type.
Gets or sets email message enclosed in this MIME object.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a file name in format "message.eml".
Represents MIME entity containing data. (RFC 1521)
Gets or set the value indicating parts' total count.
Gets or set the value indicating a sequence number of this part (1 based).
Gets or set the unique identifier to be used to match the parts together.
Implements 'multipart/mixed' MIME entity, e.g. email message containing attachments.
Base class for all multipart MIME entities ('multipart/*').
There are specialized classes for different multipart subtypes which derive from this class such as: , or .
Gets or sets MIME multipart preamble. By default this value is null.
Gets or sets MIME multipart preamble. By default this value is an empty string.
Parts of the entity.
MIME parts inside multipart entity are separated by delimiter.
Boundary delimiter. String which is separating parts of the multipart entity.
Without additional '--' at the beginning.
E.g. '=_NextPart_000_0020_01C36F64.F2562350'.
RFC 2046: The "multipart" boundary delimiters and header fields are always represented as 7bit US-ASCII in any case.
Gets the estimated transport size of this MIME entity.
Estimated transport size of this MIME entity.
Represents Pkcs7-signature.
Represents 'multipart/related' MIME entity, e.g. HTML e-mail with embedded pictures. (RFC 2387).
Root mime object. This element should be processed first.
collection contains this element.
E.g. if E-mail is HTML e-mail with embedded pictures, root will contain html body. All images will be placed in the 'parts' collection.
Represents 'Multipart/Report' MIME, entity e.g. multiple mail messages.
Gets or sets the type of the report.
Gets the human readable description of error. It may be in any MIME standards-track content-type, charset, or language.
Where a description of the error is desired in several languages or several media,
a Multipart/Alternative construct may be used. (RFC 3462)
Gets DSNs return indications of message delivery to the sender of that message.
This property is filled when is
Gets MDNs provide a notification of the "disposition" of a message - indicating, for example, whether it is read by a recipient, discarded before being read, etc.
This property is filled when is
Creates new object from or type in collection.
New object or null if there was no attached email message.
Represents MIME entity containing data.
Please use or methods to create objects of this type.
Gets or sets email message enclosed in this MIME object.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a file name in format "message.eml".
Represents MIME entity containing data.
Please use or methods to create objects of this type.
Gets or sets email message enclosed in this MIME object.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a file name in format "message.eml".
Represents 'Multipart/Signed' MIME entity.
You can sign email messages using or methods.
Gets the SignedCms instance stored in this container
SignedCms instance.
Verifies the digital signatures on the signed CMS/PKCS #7 message and, optionally, validates the signers' certificates.
: A System.Boolean value that specifies whether only the digital signatures are verified
without the signers' certificates being validated.
If is true, only the digital signatures are verified.
If it is false, the digital signatures are verified, the signers' certificates are validated,
and the purposes of the certificates are validated.
The purposes of a certificate are considered valid if the certificate has no key usage or
if the key usage supports digital signatures or non-repudiation.
Sets plain MIME entity and signs it using specified parameters.
Plain MIME entity.
Signature configuration: such as certificate, algorithm etc.
Computes the signature again.
Signature configuration: such as certificate, algorithm etc.
Represents MIME entity containing text data.
You can use or to create objects of this type.
You should use when attaching binary files.
Gets or sets text data contained in this Mime object.
Encoding is changed to UTF8 when setting.
Gets the result of matching content-type charset to .
Gets or sets encoding used to encode text contained in this MIME entity.
When setting this property, property is re-set with value representing in new encoding.
Encoding is stored as a charset field in content-type header. Default is system's default.
Represents MIME entity containing text/vcard data.
Please use or methods to create objects of this type.
Gets or sets the VCard contained in this MIME entity.
Gets suggested file name. All special characters and path are removed.
If the is not specified ( is false),
tries to use to create a file name or generates a random file name in format "vcard.vcf".
Defines Delivery Status Notification (DSN) for a single recipient.
Indicates the action performed by the as a result of its attempt to deliver the message.
For a "failed" or "delayed" recipient, contains the actual diagnostic code issued by the mail transport.
Contains a transport-independent status code which indicates the delivery status of the message to that recipient.
Indicates the original recipient address as specified by the sender of the message for which the DSN is being issued.
Indicates the recipient for which this set of per-recipient fields applies.
Gets any field defined in Delivery Status Notification (DSN) for this recipient.
Field name.
Field value
Represents settings for msg to conversion.
Gets or sets the value indicating if MSG headers should be copied to resulting email. Default is false.
Gets or sets the value indicating if plain text should be created from HTML and/or RTF content. Default is true.
Gets or sets S/MIME decrypt configuration (automatic decryption, certificates used for decryption).
Creates new instance of Msg2MimeConverterConfiguration.
Outlook .msg file format converter.
Gets the type of the contents of the MSG file (e.g. , ).
Gets the value indicating if the MSG file type represents a message, and if can be used.
Creates new instance of this class.
File name to load data from.
Creates new instance of this class.
Stream to load data from.
Creates new object from MSG data.
property doesn't equal .Newly created email message in MIME format.
Creates new object from MSG data.
property doesn't equal .
Msg to MIME configuration settings.
Newly created email message in MIME format.
Releases all resources acquired by this object.
Represents MSG file content type, such as , , , .
Gets IPM.Note message type (email message).
Gets IPM.Note.SMIME.MultipartSigned message type (signed email message).
Gets IPM.Note.SMIME message type (signed email message).
Gets IPM.Schedule.Meeting.Request message type (meeting request).
Gets IPM.Schedule.Meeting.Resp.Neg message type (negative meeting response).
Gets IPM.Schedule.Meeting.Resp.Pos message type (positive meeting response).
Gets IPM.Schedule.Meeting.Resp.Tent message type (tentative meeting response).
Gets IPM.Schedule.Meeting.Canceled message type (canceled meeting response).
Gets IPM.Schedule.Meeting.Notification message type (meeting notification).
Gets IPM.Schedule.Meeting.Notification.Forward message type.
Gets REPORT.IPM.Note.DR message type (tentative meeting response).
Gets REPORT.IPM.Note.NDR message type (tentative meeting response).
Gets REPORT.IPM.Note.Delayed.DR message type (tentative meeting response).
Gets IPM.Sharing message type.
Gets IPM.Contact message type.
Gets IPM.Post message type.
Gets IPM.StickyNote message type.
Represents base PDI (Personal Data Interchange) entity.
Renders this entity as a string.
Rendered string.
Gets header with specified key from this calendar entity.
Header's key.
object for this key, or if specified key was not found.
Gets header with specified key from this calendar entity.
Header's key.
object for this key, or if specified key was not found.
Adds custom header to this entity.
Custom header to add.
Represents key and values.
Gets or sets the key.
Gets values.
Creates new KeyValues object.
Key.
Creates new KeyValues object.
Key.
Value.
Creates new KeyValues object.
Key.
Values.
Represents single calendar header.
Gets or sets header's group.
Gets or sets header's key.
Gets header's value.
Gets or sets header's raw value.
Gets header's binary value.
Header key parameters. You can use and methods for easier access.
You can use and methods for easier access.
Gets information if the header is empty.
Raw line that this object was parsed from.
Creates new PdiHeader object with specified and .
Header's key.
Header's raw value.
Creates new PdiHeader object with specified .
Header's key.
Renders this header.
Header rendered to string.
Returns true if the specified header key parameter exists.
Name of the parameter to search for.
True if parameter exists false otherwise.
Returns the value of the first key parameter or if parameter does not exist.
Name of the parameter.
Value of the parameter or when parameter does not exist.
Returns the values of the specified header parameter or when parameter does not exist.
Name of the parameter.
Values of the parameter or when parameter does not exist.
Returns true if the specified header value parameter exists.
Name of the parameter to search for.
True if parameter exists false otherwise.
Returns the value of the of the first value parameter or if parameter does not exist.
Name of the parameter.
Value of the parameter or when parameter does not exist.
Returns the values of the specified header parameter or when parameter does not exist.
Name of the parameter.
Values of the parameter or when parameter does not exist.
Returns contents of this header.
Contents of this header.
You can use this class to create a read receipt (MDN) email.
Gets or sets plain text version of the read reply template.
Template sample:
This is a confirmation that your message sent to [OriginalRecipient.Address] was displayed.
Gets or sets plain text version of the read reply template.
Template sample:
This is a confirmation that your message sent to [OriginalRecipient.Address] was deleted.
Gets or sets plain text version of the processed reply template.
Template sample:
This is a confirmation that your message sent to [OriginalRecipient.Address] was processed.
Gets or sets plain text version of the dispatched reply template.
Template sample:
This is a confirmation that your message sent to [OriginalRecipient.Address] was dispatched.
Gets or sets plain text version of the denied reply template.
Template sample:
This is a confirmation that your message sent to [OriginalRecipient.Address] was denied.
Gets or sets read reply template for the subject.
Template sample:
Read: [Original.Subject]
Gets or sets deleted reply template for the subject.
Template sample:
Deleted: [Original.Subject]
Gets or sets processed reply template for the subject.
Template sample:
Processed: [Original.Subject]
Gets or sets dispatched reply template for the subject.
Template sample:
Dispatched: [Original.Subject]
Gets or sets denied reply template for the subject.
Template sample:
Denied: [Original.Subject]
Gets a dictionary of additional template keys, that are used when rendering subject and text templates.
Creates new ReadReceiptBuilder object.
Message-id () of the original email message.
Recipients of the notification (Authors of the original email message).
Creates new ReadReceiptBuilder object.
Message-id () of the original email message.
Recipients of the notification (Authors of the original email message).
Creates new ReadReceiptBuilder object.
Original email message.
Creates new ReadReceiptBuilder object.
Original email message.
Recipients of the notification (Authors of the original email message).
Creates MailBuilder class that can be used to create read receipt for manually deleted email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for automatically deleted email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for manually displayed email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for automatically displayed email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for manually processed email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for automatically processed email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for manually dispatched email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for automatically dispatched email.
From mailbox.
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create read receipt for email.
From mailbox.
Receipt disposition (e.g. ).
Specifies automatic or manual receipt.
MailBuilder class that can be used to create an actual email.
You can use this class to create a reply from specified email.
Gets or sets plain text version of the reply template.
Template sample:
[Text]
On [Original.Date] [Original.Sender.Name] wrote:
[QuoteText]
Gets or sets HTML version of the reply template.
Template sample:
Gets or sets reply template for the subject.
Template sample:
RE: [Original.Subject]
Gets a dictionary of additional template keys, that are used when rendering subject and text templates.
Gets or sets the value that specifies if collection is copied to resulting email.
Gets or sets a value indicating if plain text version of a body is extracted from HTML when property is set.
Default is true.
Gets or sets plain text version of the reply. Please remember that setting will override plain text.
Gets or sets HTML version of the reply. Extracts plain text from HTML and also sets property.
Creates new ReplyBuilder object.
Original email to reply to.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From mailbox used for replying (the address from which the reply will be sent).
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From mailbox used for replying (the address from which the reply will be sent).
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From address used for replying (the address from which the reply will be sent).
MailBuilder class that can be used to create an actual email.
Creates MailBuilder class that can be used to create an actual email.
This method copies attachments, sets , , , and properties.
From address used for replying (the address from which the reply will be sent).
MailBuilder class that can be used to create an actual email.
Represents S/MIME (Secure/Multipurpose Internet Mail Extensions) signature configuration.
Gets or sets the certificate that will be used to sign the message.
Gets or sets the signing algorithm. You can use one of the static values.
Default is SHA1 ().
Gets or sets the option that controls whether the root and entire chain associated with the signing certificate are included with the created CMS/PKCS #7 message.
Default is .
Gets or sets the value indicating if detached signature will be used.
Detached signature has better backward compability as S/MIME unaware clients are able to access the signed data. Default is true.
Creates new SignatureConfiguration instance.
Certificate that will be used to sign the message.
Creates new EncryptionConfiguration instance.
Represents an error that occurred during signature validation or signing.
Initializes new instance of ImapResponseException with serialized data.
Serialized object data.
Contextual information.
Represents S/MIME (Secure/Multipurpose Internet Mail Extensions) signature validation configuration.
Gets or sets a Boolean value that specifies whether only the digital signatures are verified without the signers' certificates being validated.
If set to true, only the digital signatures are verified.
If set to false, the digital signatures are verified, the signers' certificates are validated, and the purposes of the certificates are validated.
The purposes of a certificate are considered valid if the certificate has no key usage or if the key usage supports digital signatures or non repudiation.
Default is false.
Gets or sets a Boolean value that specifies whether to check if an email was signed by the person that sent it.
Default is false.
Gets or sets a Boolean value that specifies a way in which and signature addresses are compared.
Default is .
Represents S/MIME decrypt configuration (automatic decryption, certificates used for decryption).
Specifies if S/MIME encrypted messages should be decrypted automatically.
Decryption searches through collection and store to find appropriate certificate.
Default is true.
Specifies if S/MIME encrypted messages should be decrypted automatically.
Decryption searches through collection and store to find appropriate certificate.
Default is true.
Specifies if S/MIME signed messages should be extracted automatically.
This settings affects signed emails that use pkcs7-mime signed-data (not detached signatures).
Default is true.
Gets or sets the list of certificates used for decryption.
Gets or sets certificate used for decryption.
Specifies if email headers from the outer message are copied to a decrypted, inner email message.
Default is false.
Specifies if email headers from the outer message are copied to a signed, inner email message.
Default is false.
Initializes new S/MIME configuration class.
Initializes new S/MIME configuration class.
Certificates used for decryption.
Initializes new S/MIME configuration class.
Certificate used for decryption.
Inherit this interface if you need to implemeting a custom template data provider.
Gets the value for specified key.
Name of the key to get value for.
Value for specified key.
Returns a boolean value indicating if this provider can return a value for specified key.
Name of the key.
True if this provider can return a value for specified key.
Represents the template that can be used to create email messages.
string text = Template
.LoadFromFile("template.txt")
.DataFrom(reportData)
.Render();
Template sample:
Hi [FirstName] [LastName],
On [PurchaseDate:yyyy/MM/dd HH:mm] you purchased following items:
[foreach OrderItems]
- [Id] [Name] [Price]
[end]
\[ escaped square brackets \]
Creates new template using specified template text.
Template's text.
New template.
Loads a template from file.
The file to read data from.
Loaded template.
Clears all data sources for this template.
Current template.
Specifies object that will be used as a data source for this template.
If the method is called more than once, only last object is used.
Data source for this template.
Current template.
Specifies IDictionary that will be used as a data source for this template.
If the method is called more than once, only last object is used as the template data source.
IDictionary sata source for this template.
Current template.
Specifies ITemplateDataProvider that will be used as a data source for this template.
If the method is called more than once, only last object is used as the template data source.
ITemplateDataProvider sata source for this template.
Current template.
Specifies object that will be used as a data source for this template.
If the method is called more than once, all objects are used.
Data source for this template.
Current template.
Specifies that will be used as a data source for this template.
If the method is called more than once, all objects are checked and used as the template data source.
IDictionary data source for this template.
Current template.
Specifies ITemplateDataProvider that will be used as a data source for this template.
If the method is called more than once, all objects are checked and used as the template data source.
ITemplateDataProvider sata source for this template.
Current template.
Renders the template.
Rendered template.
Gets or sets custom keys used by this template.
Key name.
Value to be used when template is rendered.
Adds a custom key used by this template.
Key name.
Value to be used when template is rendered.
Current template.
Represents an error that occurred during template parsing.
Initializes new instance of TemplateException with serialized data.
Serialized object data.
Contextual information.
Represents result of the email address validation.
Email is valid.
Email has incorrect format.
No MX record was found for the domain.
SMTP server rejected email address.
SMTP server returned an error.
Validates email address.
Uses Format, MX and SMTP validation.
Gets or sets SMTP configuration.
Gets or sets the value of MAIL FROM address. By default, checked address is used.
Initializes new instance of the AddressValidator class.
Validates email address format only.
Email address to validate (e.g. mail@example.com).
Result of the validation.
Validates email address (email format, existence of MX record, SMTP connection).
Email address to validate (e.g. mail@example.com).
Result of the validation.
Validates email address format and the existence of MX record.
Email address to validate (e.g. mail@example.com).
Result of the validation.
Smtp email address validator.
Gets or sets SMTP configuration.
Gets or sets the value of MAIL FROM address. By default, checked address is used.
Initializes new instance of the AddressValidator class.
Validates email address (email format, existence of MX record, SMTP connection).
Email address to validate (e.g. mail@example.com).
Result of the validation.
SmtpValidation result.
Gets all SMTP server responses.
Gets SmtpValidation status.
Creates new SmtpValidationResult instance.
SmtpValidation status.
Failure
Success
No MX record found.
Smtp error
Recognizes common patterns of delivery failure emails.
Examines specified email for delivery failure patterns.
Email to examine.
Examination result. Please use to check if the email is a delivery failure notification.
Examines specified email for delivery failure patterns.
Email message to examine.
The list of found delivery failures.
Represents result of the email examination performed by class.
True if email is a delivery failure or deliver delay report
Indicates the original recipient address as specified by the sender of the message for which the delivery failure report was issued.
For a "failed" or "delayed" recipient, contains the actual diagnostic code issued by the mail transport.
Indicates the action performed as a result of attempt to deliver the message.
Contains a transport-independent status code which indicates the delivery status of the message to that recipient.
Creates new BounceResult object.
Represents Variable Envelope Return Path (VERP) address (e.g. "list-owner+bob=recipient.com@sender.com").
You can use method to create VERP email address or method to parse existing one.
Gets original email To address (e.g. "bob@recipient.com").
Gets original email From address (e.g. "list-owner@sender.com").
Creates new VERPAddress class instance.
Original email to address (e.g. "bob@recipient.com").
Original email from address (e.g. "list-owner@sender.com").
Parses existing VERP address (e.g. "list-owner+bob=recipient.com@sender.com").
VERP address to parse (e.g. "list-owner+bob=recipient.com@sender.com").
New VERPAddress class instance with and properties set ("bob@recipient.com" and "list-owner@sender.com" accordingly).
Joins and to create VERP address (e.g. "list-owner+bob=recipient.com@sender.com").
Sender address, containing encoded recipient address (e.g. "list-owner+bob=recipient.com@sender.com").
This class provides a simple way of extracting plain text from HTML data.
Extracts plain text from HTML data.
HTML to process.
Plain text extracted from HTML.
Represents single message stored inside MBox file.
Gets envelope sender stored in MBox file.
Gets delivery date stored in MBox file.
Gets email data.
Represents MBox file reader.
Creates new MBoxReader.
Stream to read from.
Reads next message.
Next message or null when no more messages are available.
Represents partial email () joiner.
Gets or sets the value indicating if the Content-Type's header field property should be ignored. Default is false.
Gets or sets the value indicating if the Content-Type's header id field should be ignored. Default is false.
Gets or sets the value indicating if first message headers should be copied to the resulting message. Default is false.
(1) All of the header fields from the initial enclosing entity (part one), except those that start with "Content-" and the
specific header fields "Message-ID", "Encrypted", and "MIME-Version", must be copied, in order, to the new message.
(2) Only those header fields in the enclosed message which start with "Content-" and "Message-ID", "Encrypted", and "MIME-Version"
must be appended, in order, to the header fields of the new message.
Any header fields in the enclosed message which do not start with "Content-"
(except for "Message-ID", "Encrypted", and "MIME-Version") will be ignored.
(3) All of the header fields from the second and any subsequent messages will be ignored.
Adds email part () to be joined.
Email representing partial message.
True if all parts where added and messages can be joined using method, false otherwise.
Joins split email.
Joined message.
Joins split email.
Raw data of the joined message.
Joins split email.
Email messages containing MIME parts () to be joined.
Joined message.
Represents Bayesian spam filter.
You can use to teach and assess the accuracy of the filter.
Gets or sets the overall probability that any given message is spam (Pr(S))
Not biased filter assumes 0.5. Recent statistics show that the current probability of any message being spam is 80%, at the very least: SpamBias = 0.8; HamBias = 0.2
Gets or sets the overall probability that any given message is not spam (is "ham") (Pr(H))
Not biased filter assumes 0.5. Recent statistics show that the current probability of any message being spam is 80%, at the very least: SpamBias = 0.8; HamBias = 0.2
Gets or sets the spam threshold: IsSpam = SpamProbability > SpamThreshold
Use this method to teach the filter that specified message is spam.
Spam message
Use this method to teach the filter that specified message is not spam (is ham).
Not spam (ham) message
Examines specified message checking the probability of the message being spam.
Message to check.
Result including probability of the specified message being spam (between 0.0 and 1.0).
Saves all words used be the filter to specified file.
The file to save to.
Loads all words used by the filter from specified file.
The file to read from.
Represents a spam filter.
Use this method to teach the filter that specified message is spam.
Spam message
Use this method to teach the filter that specified message is not spam (is ham).
Not spam (ham) message
Examines specified message checking the probability of the message being spam.
Message to check.
Result including probability of the specified message being spam (between 0.0 and 1.0).
You can use this class to teach spam filter (e.g. ) to recognize which messages are spam and which are not (are ham).
During learning phase, both spam and not spam (ham) messages' count should be similar (100 or more).
Creates new instance of the teacher class to teach specific filter.
Spam filter to teach.
Use this method to teach the filter which messages are spam.
Path to the folder that contains spam messages.
Use this method to teach the filter which messages are not spam (are ham).
Path to the folder that contains not spam (ham) messages.
Use this method to test the filter.
Path to the folder that contains spam messages to test the filter on.
Path to the folder that contains not spam (ham) messages to test to test the filter on.
Test results.
Represents result of the email examination performed by class.
Gets the probability (from 0.0 to 1.0) that the message is spam.
Gets the value indicating if message is spam.
Gets the value indicating if message is ham.
This property return negation of the property (!IsSpam).
Represents the result of spam filter test.
You can use to teach and assess the accuracy of the filter.
Gets the number of correct recognitions.
Gets the count of all tests.
Gets file names of false positives (ham messages marked as spam).
Gets file names of the failures (spam messages not marked as spam).
Gets the filter accuracy (/)
Creates new SpamTestResults object.
Returns string representing this object
String representation of this object.