Операция резервного копирования и восстановления IMAP
Aspose.Email для .NET предоставляет возможность резервного копирования и восстановления сообщений. Для этого API предоставляет следующие методы.
В этой статье демонстрируется, как резервировать и восстанавливать сообщения с помощью класса ImapClient.
Резервное копирование сообщений
Для резервного копирования сообщений используйте метод ImapClient.Backup как показано в следующем фрагменте кода.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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); |
Восстановление сообщений
Для восстановления сообщений используйте метод ImapClient.Restore как показано в следующем фрагменте кода.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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); |
Операция резервного копирования и восстановления IMAP с использованием MultiConnection
При работе с большим количеством сообщений операция резервного копирования/восстановления может занять много времени. Для этого API предоставляет поддержку нескольких соединений во время операции резервного копирования и восстановления. Чтобы включить режим MultiConnection, установите свойство ImapClient.UseMultiConnection в MultiConnectionMode.Enable. Следующие фрагменты кода демонстрируют операцию резервного копирования и восстановления с включенным режимом MultiConnection.
Резервное копирование сообщений с использованием MultiConnection
Следующие фрагменты кода демонстрируют операцию резервного копирования с включенным режимом MultiConnection.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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); |
Восстановление сообщений с использованием MultiConnection
Следующие фрагменты кода демонстрируют операцию восстановления с включенным режимом MultiConnection.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// 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); |