Mail |
public abstract Task<MimeMessage> GetMessageAsync( UniqueId uid, CancellationToken cancellationToken = default, ITransferProgress progress = null )
Exception | Condition |
---|---|
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. |
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); } }