Hoạt động Sao lưu và Khôi phục IMAP

Sao lưu và Khôi phục Tiêu chuẩn

Aspose.Email cho .NET cung cấp khả năng sao lưu và khôi phục tin nhắn. Đối với việc này, API cung cấp các phương thức sau.

Bài viết này minh họa cách sao lưu và khôi phục tin nhắn bằng cách sử dụng ImapClient lớp.

Sao lưu Tin nhắn

Để sao lưu tin nhắn, sử dụng ImapClient.Backup phương thức như được minh họa trong đoạn mã dưới đây.

// The path to the File directory.
string dataDir = RunExamples.GetDataDir_IMAP();
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.Host = "imap.gmail.com";
imapClient.Username = "your.username@gmail.com";
imapClient.Password = "your.password";
imapClient.Port = 993;
imapClient.SecurityOptions = SecurityOptions.Auto;

ImapMailboxInfo mailboxInfo = imapClient.MailboxInfo;

ImapFolderInfo info = imapClient.GetFolderInfo(mailboxInfo.Inbox.Name);
ImapFolderInfoCollection infos = new ImapFolderInfoCollection();
infos.Add(info);

imapClient.Backup(infos, dataDir + @"\ImapBackup.pst", BackupOptions.Recursive);

Khôi phục Tin nhắn

Để khôi phục tin nhắn, sử dụng ImapClient.Restore phương thức như được minh họa trong đoạn mã dưới đây.

// The path to the File directory.
string dataDir = RunExamples.GetDataDir_IMAP();
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.Host = "imap.gmail.com";
imapClient.Username = "your.username@gmail.com";
imapClient.Password = "your.password";
imapClient.Port = 993;
imapClient.SecurityOptions = SecurityOptions.Auto;

RestoreSettings settings = new RestoreSettings();
settings.Recursive = true;
PersonalStorage pst = PersonalStorage.FromFile(dataDir + @"\ImapBackup.pst");
imapClient.Restore(pst, settings);

Sao lưu và Khôi phục IMAP với MultiConnection

Khi làm việc với số lượng lớn tin nhắn, quá trình sao lưu/khôi phục có thể mất thời gian dài. Vì vậy, API cung cấp hỗ trợ đa kết nối trong quá trình sao lưu và khôi phục. Để bật chế độ MultiConnection, đặt ImapClient.UseMultiConnection thuộc tính để MultiConnectionMode.Enable. Các đoạn mã dưới đây minh họa hoạt động sao lưu và khôi phục với chế độ MultiConnection được bật.

Các đoạn mã dưới đây minh họa hoạt động sao lưu với chế độ MultiConnection được bật.

// The path to the File directory.
string dataDir = RunExamples.GetDataDir_IMAP();
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.Host = "imap.gmail.com";
imapClient.Username = "your.username@gmail.com";
imapClient.Password = "your.password";
imapClient.Port = 993;
imapClient.SecurityOptions = SecurityOptions.Auto;

imapClient.UseMultiConnection = MultiConnectionMode.Enable;

ImapMailboxInfo mailboxInfo = imapClient.MailboxInfo;

ImapFolderInfo info = imapClient.GetFolderInfo(mailboxInfo.Inbox.Name);
ImapFolderInfoCollection infos = new ImapFolderInfoCollection();
infos.Add(info);

imapClient.Backup(infos, dataDir + @"\ImapBackup.pst", BackupOptions.Recursive);

Các đoạn mã dưới đây minh họa hoạt động khôi phục với chế độ MultiConnection được bật.

// The path to the File directory.
string dataDir = RunExamples.GetDataDir_IMAP();
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.Host = "imap.gmail.com";
imapClient.Username = "your.username@gmail.com";
imapClient.Password = "your.password";
imapClient.Port = 993;
imapClient.SecurityOptions = SecurityOptions.Auto;

imapClient.UseMultiConnection = MultiConnectionMode.Enable;

RestoreSettings settings = new RestoreSettings();
settings.Recursive = true;
PersonalStorage pst = PersonalStorage.FromFile(dataDir + @"\Outlook.pst");
imapClient.Restore(pst, settings);