Säkerhetskopiera och återställ IMAP‑meddelanden i Python
Aspose.Email för Python erbjuder metoder för ImapClient klass för att hantera e‑postmeddelanden över IMAP‑protokollet:
- ‘backup’‑metoden
- ‘restore’‑metoden
Denna artikel visar hur man använder ImapClient klass och dess metoder för att säkerhetskopiera och återställa e‑postmeddelanden till och från en PST‑fil. Den täcker också hur man förbättrar prestanda för stora brevlådor med multi‑connection‑läge.
Säkerhetskopiera IMAP‑meddelanden
För att skapa en säkerhetskopia av e‑postmeddelanden från en IMAP‑server, använd backup metod för ImapClient klass. Följande kodexempel visar hur man säkerhetskopierar Inbox‑mappen till en .pst‑fil:
import aspose.email as ae
# Create an instance of the ImapClient class
imap_client = ae.clients.imap.ImapClient()
# Specify host, username, password, and set port for your client
imap_client.host = "imap.gmail.com"
imap_client.username = username
imap_client.password = password
imap_client.port = 993
imap_client.security_options = ae.clients.SecurityOptions.AUTO
# Get mailbox info
mailbox_info = imap_client.mailbox_info
# Get folder info for the Inbox folder
inbox_info = imap_client.get_folder_info(mailbox_info.inbox.name)
# Create an ImapFolderInfoCollection and add the Inbox folder info
infos = ae.clients.imap.ImapFolderInfoCollection()
infos.add(inbox_info)
# Specify the path to the directory
data_dir = "path/to/your/data/directory"
# Perform the backup operation
settings = ae.clients.imap.BackupSettings
settings.execute_recursively = True
imap_client.backup(infos, data_dir + "\\ImapBackup.pst", settings)
Återställ IMAP‑meddelanden
För att återställa meddelanden från en .pst‑fil till en IMAP‑server, använd restore metod för ImapClient klass:
import aspose.email as ae
# Create an instance of the ImapClient class
imap_client = ae.clients.imap.ImapClient()
# Specify host, username, password, and set port for your client
imap_client.host = "imap.gmail.com"
imap_client.username = username
imap_client.password = password
imap_client.port = 993
imap_client.security_options = ae.clients.SecurityOptions.Auto
# Create RestoreSettings with Recursive set to true
settings = ae.clients.imap.RestoreSettings()
settings.recursive = True
# Specify the path to the directory
data_dir = "path/to/your/data/directory"
# Load the PST file
pst = ae.storage.pst.PersonalStorage.from_file(data_dir + "\\ImapBackup.pst")
# Perform the restore operation
imap_client.restore(pst, settings)
Öka prestanda med Multi-Connection‑läge
För uppgifter som involverar stora datamängder eller många e‑postmeddelanden erbjuder Aspose.Email egenskapen ‘use_multi_connection’ för ImapClient klass för att optimera prestandan i operationerna genom att låta klienten öppna flera anslutningar till e‑postservern samtidigt. När MultiConnectionMode är aktiverat, kan IMAP‑klienten utföra olika uppgifter (såsom att hämta e‑post, synkronisera mappar och säkerhetskopiera data) parallellt över olika anslutningar. Detta kan leda till en betydande minskning av den totala tid som krävs för att slutföra operationerna. Följande kodsnuttar visar hur man aktiverar MultiConnection läge för säkerhetskopierings‑ och återställningsoperationer.
Obs: Användning av flera anslutningar kan vara föremål för begränsningar och policys som satts av e‑postservern. Vissa servrar kan införa restriktioner på antalet samtidiga anslutningar från ett enskilt användarkonto för att undvika överbelastning av servern. Kontrollera alltid villkoren eller policys hos e‑postleverantören för att säkerställa att du följer deras riktlinjer innan du aktiverar MultiConnectionMode.
Säkerhetskopiera meddelanden med MultiConnection aktiverat
Följande kodsnutt demonstrerar hur man utför en säkerhetskopieringsoperation med MultiConnection‑läge aktiverat:
import aspose.email as ae
# Create an instance of the ImapClient class
imap_client = ae.clients.imap.ImapClient()
# Specify host, username, password, and set port for your client
imap_client.host = "imap.gmail.com"
imap_client.username = username
imap_client.password = password
imap_client.port = 993
imap_client.security_options = ae.clients.SecurityOptions.Auto
# Enable MultiConnectionMode
imap_client.use_multi_connection = ae.clients.MultiConnectionMode.ENABLE
# Get mailbox info
mailbox_info = imap_client.mailbox_info
# Get folder info for the Inbox folder
inbox_info = imap_client.get_folder_info(mailbox_info.inbox.name)
# Create an ImapFolderInfoCollection and add the Inbox folder info
infos = ae.clients.imap.ImapFolderInfoCollection()
infos.add(inbox_info)
# Specify the path to the directory
data_dir = "path/to/your/data/directory"
# Perform the backup operation
settings = ae.clients.imap.BackupSettings
settings.execute_recursively = True
imap_client.backup(infos, data_dir + "\\ImapBackup.pst", settings)
Återställ meddelanden med MultiConnection
Följande kodsnutt demonstrerar hur man utför en återställningsoperation med MultiConnection‑läge aktiverat.
import aspose.email as ae
# Create an instance of the ImapClient class
imap_client = ae.clients.imap.ImapClient()
# Specify host, username, password, and set port for your client
imap_client.host = "imap.gmail.com"
imap_client.username = username
imap_client.password = password
imap_client.port = 993
imap_client.security_options = ae.clients.SecurityOptions.Auto
# Enable MultiConnectionMode
imap_client.use_multi_connection = ae.clients.MultiConnectionMode.ENABLE
# Create RestoreSettings with Recursive set to true
settings = ae.clients.imap.RestoreSettings()
settings.recursive = True
# Specify the path to the directory
data_dir = "path/to/your/data/directory"
# Load the PST file
pst = ae.storage.pst.PersonalStorage.from_file(data_dir + "\\Outlook.pst")
# Perform the restore operation
imap_client.restore(pst, settings)