Gmailの受信トレイとS22.Imapを使用してベンダーからの請求書を処理するアプリケーションがあります。 。それはどんな問題なくここ数年のために使用されてきたが、最近、私は受信トレイからのすべてのメッセージは、コマンドを使用して処理するために取得しようとすると、エラーを「ストリームを読み取ることができませんでした」を見てきた:S22.Imap System.IO.IOException:client.GetMessages(uids)中にストリームを読み取れませんでした
IEnumerable<uint> uids = client.Search(SearchCondition.Unseen());
IEnumerable<MailMessage> messages = client.GetMessages(uids);
この例外は、特定のベンダーが多数の電子メールを一度に送信した場合にのみ発生すると思われます。私はS22.Imap documentationを通して見てきましたが、何も助けを見つけませんでした。
注:私は電子メールを取得するこの方法を見ましたが、私が上記使用したオリジナルの方法は、マニュアルの「目に見えないメールメッセージのダウンロード」の実際の例です。
// Fetch the messages and process each one
foreach (uint uid in uids)
{
MailMessage message = client.GetMessage(uid);
ProcessMessage(message);
}
ここでの私の問題は、Iローカルで例外を再現することができませんでした。クライアントとの関係を実際に理解していません.GetMessages(uids)コマンド。
このように処理できるメッセージは最大数ありますか、または電子メールを読んで処理するためのよりよい方法がありますか?
これらの電子メールを取得するには、client.GetMessages(uids)が最適な方法である場合、この例外を受け取り、それが起こったときに続行する良い方法がありますか?
私は何かアドバイスをいただきありがとうございます。ありがとう、