Próbuję użyć następującego kodu, aby połączyć się i pobrać załącznik z wiadomości e-mail w skrzynce odbiorczej przy użyciu C# i Exchange Web Services, ale pojawia się błąd "System.ArgumentOutOfRangeException" i nie mogę zobacz dlaczego. Mam wpisane do Google hasło, ale nie mogę znaleźć ani znaleźć odpowiedzi na bardzo stare wersje EWS.Pobierz załącznik z programu Exchange za pomocą usługi Exchange Web Services
Wiem, że reszta kodu zasadniczo działa tak, jak mogę uzyskać dostęp do innych informacji dotyczących wiadomości e-mail, po prostu nie uzyskuję dostępu do załącznika.
Czy ktoś mi pokazuje błąd moich metod?
Dzięki z góry,
James
static void Main(string[] args)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Credentials = new NetworkCredential("MYLOGIN", "MYPASSWORD", "MYDOMAIN");
service.Url = new Uri("https://MYMAILSERVER/EWS/Exchange.asmx");
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(1000));
foreach (Item item in findResults.Items)
{
if (item.HasAttachments && item.Attachments[0] is FileAttachment)
{
FileAttachment fileAttachment = item.Attachments[0] as FileAttachment;
fileAttachment.Load("C:\\temp\\" + fileAttachment.Name);
}
}
}
}
Solved ale nowy problem
Mam klasyfikowane teraz problem poprzez zmianę 'foreach (pozycja elementu w findResults.Items)' do "foreach (element EmailMessage w findResults.Items)", ale teraz muszę się dowiedzieć, jak wyliczyć w załącznikach - czy ktoś ma jakieś pomysły?
Skąd masz wyjątek? Jaki argument jest poza zakresem? Informacje te stanowią zwykle część wyjątku. –
to był błąd z indeksu. Rozwiązałem teraz problem, zmieniając "foreach (element pozycji w findResults.Items)" na "foreach (element EmailMessage w findResults.Items)" –
Część wyjątku "InnerException" może być warta zobaczenia info też –