IMail FolderGet Message Async(Unique Id, Cancellation Token, ITransfer Progress) Method
Asynchronously get the specified message.
Definition
Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
The message.
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
C#
Task<MimeMessage> GetMessageAsync(
UniqueId uid,
CancellationToken cancellationToken = default,
ITransferProgress? progress = null
)Parameters
- uid UniqueId
- The UID of the message.
- cancellationToken CancellationToken (Optional)
- The cancellation token.
- progress ITransferProgress (Optional)
- The progress reporting mechanism.
Return Value
TaskMimeMessageThe message.
Remarks
Asynchronously gets the specified message.
Example
C#
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);
}
}
Exceptions
| ArgumentException | uid is invalid. |
| ObjectDisposedException | The IMailStore has been disposed. |
| ServiceNotConnectedException | The IMailStore is not connected. |
| ServiceNotAuthenticatedException | The IMailStore is not authenticated. |
| FolderNotOpenException | The folder is not currently open. |
| MessageNotFoundException | The IMailStore did not return the requested message. |
| OperationCanceledException | The operation was canceled via the cancellation token. |
| IOException | An I/O error occurred. |
| ProtocolException | The server's response contained unexpected tokens. |
| CommandException | The command failed. |