عملية النسخ الاحتياطي والاستعادة لـ IMAP
نسخ احتياطي واستعادة قياسية
توفر Aspose.Email لـ .NET القدرة على عمل نسخة احتياطية واستعادة الرسائل. لهذا، توفر API الطرق التالية.
توضح هذه المقالة كيفية النسخ الاحتياطي والاستعادة للرسائل باستخدام الـ ImapClient فئة.
نسخ الرسائل احتياطيًا
لنسخ الرسائل احتياطيًا، استخدم الـ ImapClient.Backup الطريقة كما هو موضح في مقطع الشيفرة التالي.
// 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 الطريقة كما هو موضح في مقطع الشيفرة التالي.
// 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.
// 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.
// 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);