Подключение к Exchange без автообнаружения?
Мне нужно настроить собственное приложение на своем рабочем месте, чтобы читать строки темы электронной почты из определенного почтового ящика Exchange Server и перенаправлять их в зависимости от содержимого. Я написал следующий код для проверки подключения:
using System;
using Microsoft.Exchange.WebServices.Data;
namespace TestEmail
{
class Program
{
static void Main(string[] args)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.UseDefaultCredentials = true;
//service.Credentials = new WebCredentials("user1@contoso.com", "password");
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl("xxx@yyy.com", RedirectionUrlValidationCallback);
EmailMessage email = new EmailMessage(service);
email.ToRecipients.Add("xxx@yyy.com");
email.Subject = "Test mail";
email.Body = new MessageBody("Sending the test email");
email.Send();
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
// The default for the validation callback is to reject the URL.
bool result = false;
Uri redirectionUri = new Uri(redirectionUrl);
// Validate the contents of the redirection URL. In this simple validation
// callback, the redirection URL is considered valid if it is using HTTPS
// to encrypt the authentication credentials.
if (redirectionUri.Scheme == "https")
{
result = true;
}
return result;
}
}
}
}
Но настройки безопасности на рабочем месте запрещают выставлять конечные точки автообнаружения, и мне сообщили, что этот параметр нельзя изменить.
Есть ли другой способ подключения к серверу Exchange без использования AutoDiscover?
Это продолжение моего предыдущего вопроса Ошибка SSL/TLS при подключении к Exchange из C#
2 ответа
Если вы знаете свой URL-адрес EWS, вы можете просто жестко закодировать настройку и избавиться от кода автообнаружения, например:
Rem
//service.AutodiscoverUrl("xxx@yyy.com ", RedirectionUrlValidationCallback);
и использовать
service.Url = новый Uri (" https://computername.domain.contoso.com/EWS/Exchange.asmx");
см. также https://msdn.microsoft.com/en-us/library/office/dn509511(v=exchg.150).aspx
Имейте в виду, что Outlook 2016 даже не будет работать, если XML для автообнаружения недоступен. Вам действительно нужно включить автообнаружение, чтобы убедиться, что Outlook работает.
"параметры безопасности запрещают выставлять конечные точки автообнаружения" - мне любопытно, каковы возможные последствия для безопасности раскрытия конечных точек автообнаружения.