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

Aspose.Email for Java cung cấp khả năng sao lưu và khôi phục tin nhắn. Đối với mục tiêu 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.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "data/";
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.setHost("imap.gmail.com");
imapClient.setUsername("your.username@gmail.com");
imapClient.setPassword("your.password");
imapClient.setPort(993);
imapClient.setSecurityOptions(SecurityOptions.Auto);

ImapMailboxInfo mailboxInfo = imapClient.getMailboxInfo();

ImapFolderInfo info = imapClient.getFolderInfo(mailboxInfo.getInbox().getName());
ImapFolderInfoCollection infos = new ImapFolderInfoCollection();
infos.addItem(info);

imapClient.backup(infos, dataDir + "\\ImapBackup.pst", com.aspose.email.BackupSettings.to_BackupSettings(BackupOptions.Recursive));

Khôi phục Tin nhắn

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

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "data/";
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.setHost("imap.gmail.com");
imapClient.setUsername("your.username@gmail.com");
imapClient.setPassword("your.password");
imapClient.setPort(993);
imapClient.setSecurityOptions(SecurityOptions.Auto);

ImapRestoreSettings settings = new ImapRestoreSettings();
settings.setRecursive(true);
PersonalStorage pst = PersonalStorage.fromFile(dataDir + "\\ImapBackup.pst");
imapClient.restore(pst, settings);

Hoạt động 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.

Sao lưu Tin nhắn với MultiConnection

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

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "data/";
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.setHost("imap.gmail.com");
imapClient.setUsername("your.username@gmail.com");
imapClient.setPassword("your.password");
imapClient.setPort(993);
imapClient.setSecurityOptions(SecurityOptions.Auto);

imapClient.setUseMultiConnection(MultiConnectionMode.Enable);

ImapMailboxInfo mailboxInfo = imapClient.getMailboxInfo();

ImapFolderInfo info = imapClient.getFolderInfo(mailboxInfo.getInbox().getName());
ImapFolderInfoCollection infos = new ImapFolderInfoCollection();
infos.addItem(info);

imapClient.backup(infos, dataDir + "\\ImapBackup.pst", com.aspose.email.BackupSettings.to_BackupSettings(BackupOptions.Recursive));

Khôi phục Tin nhắn với MultiConnection

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.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "data/";
// Create an instance of the ImapClient class
ImapClient imapClient = new ImapClient();

// Specify host, username and password, and set port for your client
imapClient.setHost("imap.gmail.com");
imapClient.setUsername("your.username@gmail.com");
imapClient.setPassword("your.password");
imapClient.setPort(993);
imapClient.setSecurityOptions(SecurityOptions.Auto);

imapClient.setUseMultiConnection(MultiConnectionMode.Enable);

ImapRestoreSettings settings = new ImapRestoreSettings();
settings.setRecursive(true);
PersonalStorage pst = PersonalStorage.fromFile(dataDir + "\\Outlook.pst");
imapClient.restore(pst, settings);