2013-11-11 2 views
3

Отправка простой электронной почты через EWS работает как задумано - с моего счета на мой счет:Обмен Олицетворение в учетной записи службы: служба автообнаружения может не быть расположен

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010); 
ews.AutodiscoverUrl("[email protected]"); 
EmailMessage email = new EmailMessage(ews); 
email.ToRecipients.Add("[email protected]"); 
email.Subject = "HelloWorld"; 
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API"); 
email.Send(); 

Просто пытается олицетворение, он также работает в качестве предназначенные - в последней строке, она возвращает ошибку, что я не разрешено выдавать себя:

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010); 
ews.AutodiscoverUrl("[email protected]"); 
ews.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]"); 
EmailMessage email = new EmailMessage(ews); 
email.ToRecipients.Add("[email protected]"); 
email.Subject = "HelloWorld"; 
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API"); 
email.Send(); 

Теперь, когда я пытаюсь войти с моей учетной записью службы приложения вместо:

ExchangeService ews = new ExchangeService(ExchangeVersion.Exchange2010); 
ews.Credentials = new NetworkCredential("service", "1234", "mydomain.com"); 
//ews.Credentials = new WebCredentials("service", "1234"); 
ews.AutodiscoverUrl("[email protected]"); 
//ews.AutodiscoverUrl("[email protected]"); 
ews.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "[email protected]"); 
EmailMessage email = new EmailMessage(ews); 
email.ToRecipients.Add("[email protected]"); 
email.Subject = "HelloWorld"; 
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API"); 
email.Send(); 

Но здесь он выдает ошибку в строке автообнаружения: «AutodiscoverLocalException: не удалось найти службу автообнаружения».

Учетная запись службы настроена в AD и Exchange с правильным паролем и smtp-адресом.

Почему это не работает? Как я могу проверить, что вызывает эту ошибку?

ответ

4

Я решил проблему и угадаю, в чем проблема: это учетная запись пользователя.

EWS использует данные учетных данных для аутентификации себя для доступа к службе автообнаружения в

http://mydomain/AutoDiscover/AutoDiscover.xml 

Полномочия были правильными, но мне кажется, что для счета установлен на «пользователь должен изменить пароль при первом входе в систему», запрещается доступ к службе автообнаружения. Я изменил эту настройку в AD, и теперь она работает.

0

Если это локальный домен, попробуйте использовать mydomain вместо mydomain.com

Я обнаружил, что .com или .local не работает для меня.

Если это сервер Office365, используйте для этого домена null или string.Empty.

0

Я добавил следующие строки в файле хоста &, это сработало для меня;

192.168.32.43  mail.mydomain.com    
192.168.32.43  autodiscover.mydomain.com 
Смежные вопросы