Imap |
public class ImapClient : MailStore, IImapClient, IMailStore, IMailService, IDisposable
The ImapClient type exposes the following members.
Name | Description | |
---|---|---|
ImapClient | Initializes a new instance of the ImapClient class. | |
ImapClient(IProtocolLogger) | Initializes a new instance of the ImapClient class. |
Name | Description | |
---|---|---|
AppendLimit | Get the maximum size of a message that can be appended to a folder. | |
AuthenticationMechanisms |
Get the authentication mechanisms supported by the IMAP server.
(Overrides MailServiceAuthenticationMechanisms) | |
Capabilities | Get the capabilities supported by the IMAP server. | |
CheckCertificateRevocation |
Get or set whether connecting via SSL/TLS should check certificate revocation.
(Inherited from MailService) | |
ClientCertificates |
Get or set the client SSL certificates.
(Inherited from MailService) | |
Inbox |
Get the Inbox folder.
(Overrides MailStoreInbox) | |
InternationalizationLevel | Get the internationalization level supported by the IMAP server. | |
IsAuthenticated |
Get whether or not the client is currently authenticated with the IMAP server.
(Overrides MailServiceIsAuthenticated) | |
IsConnected |
Get whether or not the client is currently connected to an IMAP server.
(Overrides MailServiceIsConnected) | |
IsEncrypted |
Get whether or not the connection is encrypted (typically via SSL or TLS).
(Overrides MailServiceIsEncrypted) | |
IsIdle | Get whether or not the client is currently in the IDLE state. | |
IsSecure |
Get whether or not the connection is secure (typically via SSL or TLS).
(Overrides MailServiceIsSecure) | |
IsSigned |
Get whether or not the connection is signed (typically via SSL or TLS).
(Overrides MailServiceIsSigned) | |
LocalEndPoint |
Get or set the local IP end point to use when connecting to the remote host.
(Inherited from MailService) | |
OtherNamespaces |
Get the other namespaces.
(Overrides MailStoreOtherNamespaces) | |
PersonalNamespaces |
Get the personal namespaces.
(Overrides MailStorePersonalNamespaces) | |
Protocol |
Get the protocol supported by the message service.
(Overrides MailServiceProtocol) | |
ProtocolLogger |
Get the protocol logger.
(Inherited from MailService) | |
ProxyClient |
Get or set the proxy client to use when connecting to a remote host.
(Inherited from MailService) | |
Rights | Get the access rights supported by the IMAP server. | |
ServerCertificateValidationCallback |
Get or set a callback function to validate the server certificate.
(Inherited from MailService) | |
SharedNamespaces |
Get the shared namespaces.
(Overrides MailStoreSharedNamespaces) | |
SslCipherAlgorithm |
Get the negotiated SSL or TLS cipher algorithm.
(Overrides MailServiceSslCipherAlgorithm) | |
SslCipherStrength |
Get the negotiated SSL or TLS cipher algorithm strength.
(Overrides MailServiceSslCipherStrength) | |
SslHashAlgorithm |
Get the negotiated SSL or TLS hash algorithm.
(Overrides MailServiceSslHashAlgorithm) | |
SslHashStrength |
Get the negotiated SSL or TLS hash algorithm strength.
(Overrides MailServiceSslHashStrength) | |
SslKeyExchangeAlgorithm |
Get the negotiated SSL or TLS key exchange algorithm.
(Overrides MailServiceSslKeyExchangeAlgorithm) | |
SslKeyExchangeStrength |
Get the negotiated SSL or TLS key exchange algorithm strength.
(Overrides MailServiceSslKeyExchangeStrength) | |
SslProtocol |
Get the negotiated SSL or TLS protocol version.
(Overrides MailServiceSslProtocol) | |
SslProtocols |
Get or set the set of enabled SSL and/or TLS protocol versions that the client is allowed to use.
(Inherited from MailService) | |
SupportsQuotas |
Get whether or not the mail store supports quotas.
(Overrides MailStoreSupportsQuotas) | |
SyncRoot |
Gets an object that can be used to synchronize access to the IMAP server.
(Overrides MailServiceSyncRoot) | |
ThreadingAlgorithms |
Get the threading algorithms supported by the IMAP server.
(Overrides MailStoreThreadingAlgorithms) | |
Timeout |
Get or set the timeout for network streaming operations, in milliseconds.
(Overrides MailServiceTimeout) |
Name | Description | |
---|---|---|
Authenticate(ICredentials, CancellationToken) |
Authenticate using the supplied credentials.
(Inherited from MailService) | |
Authenticate(SaslMechanism, CancellationToken) |
Authenticate using the specified SASL mechanism.
(Overrides MailServiceAuthenticate(SaslMechanism, CancellationToken)) | |
Authenticate(Encoding, ICredentials, CancellationToken) |
Authenticate using the supplied credentials.
(Overrides MailServiceAuthenticate(Encoding, ICredentials, CancellationToken)) | |
Authenticate(String, String, CancellationToken) |
Authenticate using the specified user name and password.
(Inherited from MailService) | |
Authenticate(Encoding, String, String, CancellationToken) |
Authenticate using the specified user name and password.
(Inherited from MailService) | |
AuthenticateAsync(ICredentials, CancellationToken) |
Asynchronously authenticate using the supplied credentials.
(Inherited from MailService) | |
AuthenticateAsync(SaslMechanism, CancellationToken) |
Asynchronously authenticate using the specified SASL mechanism.
(Overrides MailServiceAuthenticateAsync(SaslMechanism, CancellationToken)) | |
AuthenticateAsync(Encoding, ICredentials, CancellationToken) |
Asynchronously authenticate using the supplied credentials.
(Overrides MailServiceAuthenticateAsync(Encoding, ICredentials, CancellationToken)) | |
AuthenticateAsync(String, String, CancellationToken) |
Asynchronously authenticate using the specified user name and password.
(Inherited from MailService) | |
AuthenticateAsync(Encoding, String, String, CancellationToken) |
Asynchronously authenticate using the specified user name and password.
(Inherited from MailService) | |
Compress | Enable compression over the IMAP connection. | |
CompressAsync | Asynchronously enable compression over the IMAP connection. | |
Connect(Uri, CancellationToken) |
Establish a connection to the specified mail server.
(Inherited from MailService) | |
Connect(String, Int32, Boolean, CancellationToken) |
Establish a connection to the specified mail server.
(Inherited from MailService) | |
Connect(String, Int32, SecureSocketOptions, CancellationToken) |
Establish a connection to the specified IMAP server.
(Overrides MailServiceConnect(String, Int32, SecureSocketOptions, CancellationToken)) | |
Connect(Socket, String, Int32, SecureSocketOptions, CancellationToken) |
Establish a connection to the specified IMAP or IMAP/S server using the provided socket.
(Overrides MailServiceConnect(Socket, String, Int32, SecureSocketOptions, CancellationToken)) | |
Connect(Stream, String, Int32, SecureSocketOptions, CancellationToken) |
Establish a connection to the specified IMAP or IMAP/S server using the provided stream.
(Overrides MailServiceConnect(Stream, String, Int32, SecureSocketOptions, CancellationToken)) | |
ConnectAsync(Uri, CancellationToken) |
Asynchronously establish a connection to the specified mail server.
(Inherited from MailService) | |
ConnectAsync(String, Int32, Boolean, CancellationToken) |
Asynchronously establish a connection to the specified mail server.
(Inherited from MailService) | |
ConnectAsync(String, Int32, SecureSocketOptions, CancellationToken) |
Asynchronously establish a connection to the specified IMAP server.
(Overrides MailServiceConnectAsync(String, Int32, SecureSocketOptions, CancellationToken)) | |
ConnectAsync(Socket, String, Int32, SecureSocketOptions, CancellationToken) |
Asynchronously establish a connection to the specified IMAP or IMAP/S server using the provided socket.
(Overrides MailServiceConnectAsync(Socket, String, Int32, SecureSocketOptions, CancellationToken)) | |
ConnectAsync(Stream, String, Int32, SecureSocketOptions, CancellationToken) |
Asynchronously establish a connection to the specified IMAP or IMAP/S server using the provided stream.
(Overrides MailServiceConnectAsync(Stream, String, Int32, SecureSocketOptions, CancellationToken)) | |
CreateImapFolder | Instantiate a new ImapFolder. | |
DisableNotify | Disable any previously requested notification events from the IMAP server. | |
DisableNotifyAsync | Asynchronously disable any previously requested notification events from the IMAP server. | |
Disconnect |
Disconnect the service.
(Overrides MailServiceDisconnect(Boolean, CancellationToken)) | |
DisconnectAsync |
Asynchronously disconnect the service.
(Overrides MailServiceDisconnectAsync(Boolean, CancellationToken)) | |
Dispose |
Releases all resource used by the MailService object.
(Inherited from MailService) | |
Dispose(Boolean) |
Releases the unmanaged resources used by the ImapClient and
optionally releases the managed resources.
(Overrides MailServiceDispose(Boolean)) | |
EnableQuickResync |
Enable the QRESYNC feature.
(Overrides MailStoreEnableQuickResync(CancellationToken)) | |
EnableQuickResyncAsync |
Asynchronously enable the QRESYNC feature.
(Overrides MailStoreEnableQuickResyncAsync(CancellationToken)) | |
EnableUTF8 | Enable the UTF8=ACCEPT extension. | |
EnableUTF8Async | Asynchronously enable the UTF8=ACCEPT extension. | |
Equals | (Inherited from Object) | |
Finalize |
Releases unmanaged resources and performs other cleanup operations before the
MailService is reclaimed by garbage collection.
(Inherited from MailService) | |
GetFolder(FolderNamespace) |
Get the folder for the specified namespace.
(Overrides MailStoreGetFolder(FolderNamespace)) | |
GetFolder(SpecialFolder) |
Get the specified special folder.
(Overrides MailStoreGetFolder(SpecialFolder)) | |
GetFolder(String, CancellationToken) |
Get the folder for the specified path.
(Overrides MailStoreGetFolder(String, CancellationToken)) | |
GetFolderAsync |
Asynchronously get the folder for the specified path.
(Overrides MailStoreGetFolderAsync(String, CancellationToken)) | |
GetFolders(FolderNamespace, Boolean, CancellationToken) |
Get all of the folders within the specified namespace.
(Inherited from MailStore) | |
GetFolders(FolderNamespace, StatusItems, Boolean, CancellationToken) |
Get all of the folders within the specified namespace.
(Overrides MailStoreGetFolders(FolderNamespace, StatusItems, Boolean, CancellationToken)) | |
GetFoldersAsync(FolderNamespace, Boolean, CancellationToken) |
Asynchronously get all of the folders within the specified namespace.
(Inherited from MailStore) | |
GetFoldersAsync(FolderNamespace, StatusItems, Boolean, CancellationToken) |
Asynchronously get all of the folders within the specified namespace.
(Overrides MailStoreGetFoldersAsync(FolderNamespace, StatusItems, Boolean, CancellationToken)) | |
GetHashCode | (Inherited from Object) | |
GetMetadata(IEnumerableMetadataTag, CancellationToken) |
Gets the specified metadata.
(Inherited from MailStore) | |
GetMetadata(MetadataTag, CancellationToken) |
Gets the specified metadata.
(Overrides MailStoreGetMetadata(MetadataTag, CancellationToken)) | |
GetMetadata(MetadataOptions, IEnumerableMetadataTag, CancellationToken) |
Gets the specified metadata.
(Overrides MailStoreGetMetadata(MetadataOptions, IEnumerableMetadataTag, CancellationToken)) | |
GetMetadataAsync(IEnumerableMetadataTag, CancellationToken) |
Asynchronously gets the specified metadata.
(Inherited from MailStore) | |
GetMetadataAsync(MetadataTag, CancellationToken) |
Asynchronously gets the specified metadata.
(Overrides MailStoreGetMetadataAsync(MetadataTag, CancellationToken)) | |
GetMetadataAsync(MetadataOptions, IEnumerableMetadataTag, CancellationToken) |
Asynchronously gets the specified metadata.
(Overrides MailStoreGetMetadataAsync(MetadataOptions, IEnumerableMetadataTag, CancellationToken)) | |
GetType | (Inherited from Object) | |
Identify | Identify the client implementation to the server and obtain the server implementation details. | |
IdentifyAsync | Asynchronously identify the client implementation to the server and obtain the server implementation details. | |
Idle | Toggle the ImapClient into the IDLE state. | |
IdleAsync | Asynchronously toggle the ImapClient into the IDLE state. | |
MemberwiseClone | (Inherited from Object) | |
NoOp |
Ping the IMAP server to keep the connection alive.
(Overrides MailServiceNoOp(CancellationToken)) | |
NoOpAsync |
Asynchronously ping the IMAP server to keep the connection alive.
(Overrides MailServiceNoOpAsync(CancellationToken)) | |
Notify | Request the specified notification events from the IMAP server. | |
NotifyAsync | Asynchronously request the specified notification events from the IMAP server. | |
OnAlert |
Raise the alert event.
(Inherited from MailStore) | |
OnAuthenticated |
Raise the authenticated event.
(Inherited from MailService) | |
OnConnected |
Raise the connected event.
(Inherited from MailService) | |
OnDisconnected |
Raise the disconnected event.
(Inherited from MailService) | |
OnFolderCreated |
Raise the folder created event.
(Inherited from MailStore) | |
OnMetadataChanged |
Raise the metadata changed event.
(Inherited from MailStore) | |
OnWebAlert | Raise the web alert event. | |
SetMetadata |
Sets the specified metadata.
(Overrides MailStoreSetMetadata(MetadataCollection, CancellationToken)) | |
SetMetadataAsync |
Asynchronously gets the specified metadata.
(Overrides MailStoreSetMetadataAsync(MetadataCollection, CancellationToken)) | |
ToString | (Inherited from Object) |
Name | Description | |
---|---|---|
Alert |
Occurs when a remote message store receives an alert message from the server.
(Inherited from MailStore) | |
Authenticated |
Occurs when the client has been successfully authenticated.
(Inherited from MailService) | |
Connected |
Occurs when the client has been successfully connected.
(Inherited from MailService) | |
Disconnected |
Occurs when the client gets disconnected.
(Inherited from MailService) | |
FolderCreated |
Occurs when a folder is created.
(Inherited from MailStore) | |
MetadataChanged |
Occurs when metadata changes.
(Inherited from MailStore) | |
WebAlert | Occurs when a Google Mail server sends a WEBALERT response code to the client. |
public static void DownloadMessages () { using (var client = new ImapClient ()) { client.Connect ("imap.gmail.com", 993, SecureSocketOptions.SslOnConnect); client.Authenticate ("username", "password"); client.Inbox.Open (FolderAccess.ReadOnly); var uids = client.Inbox.Search (SearchQuery.All); foreach (var uid in uids) { var message = client.Inbox.GetMessage (uid); // write the message to a file message.WriteTo (string.Format ("{0}.eml", uid)); } client.Disconnect (true); } }