Gmail받은 편지함을 사용하여 공급 업체로부터 송장을 처리하는 응용 프로그램과 전자 메일 및 PDF 첨부 파일을 읽는 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);
}
여기 내 문제는 내가 로컬에서 예외를 재현하지 못했습니다. 그리고 클라이언트와 관련된 방법을 실제로 이해하지 못합니다 .GetMessages (uids) 명령.
이렇게 처리 할 수있는 최대 메시지 수 또는 이메일을 읽고 처리하는 더 나은 방법이 있습니까?
client.GetMessages (uids)가 이러한 전자 메일을 얻는 가장 좋은 방법 인 경우이 예외를 catch하고 발생했을 때 계속할 수있는 좋은 방법이 있습니까?
나는 모든 조언을 부탁드립니다. 고마워,