我正在尝试有效地使用 ImapX DLL。我已经得到$client.Folders.Inbox.Search()
并$client.Folders.Inbox.Messages.Download()
工作来下载消息,但它们非常慢。我正在考虑$client.SendAndReceive()
改用。我认为它会像 Outlook 的发送和接收一样工作,但它需要很多我不明白的参数。
这是方法定义:
bool SendAndReceive(string command, [ref] System.Collections.Generic.IList[string] data, ImapX.Parsing.CommandProcessor processor, System.Text.Encoding encoding, bool pushResultToDatadespiteProcessor)
我不知道任何参数的用途。我在网上搜索了 ImapX 的文档,但找不到任何有用的东西。
是SendAndReceive()
下载消息的好方法吗?如果是这样,我该如何使用它?
到目前为止,这是我的 PowerShell 代码:
$DLL = [Reflection.Assembly]::LoadFile(“$PSScriptRoot\DLL\ImapX.dll”)
$client = New-Object ImapX.ImapClient
$client.IsDebug = $true
$client.ValidateServerCertificate = $true
$client.ThrowConnectExceptions = $true
$client.UseSsl = $false
$client.Behavior.MessageFetchMode = "Full"
$client.Host = $mailHost
$client.Port = $Port
$client.Connect()
$client.Login($user,$password)
# Downloads all messages but very slow
$client.Folders.Inbox.Search("ALL", $client.Behavior.MessageFetchMode)
$client.Folders.Inbox.Messages.Download()