Не удается отправить электронную почту получателям за пределами локальной сети на сервере Exchange с ASP.net - PullRequest
1 голос
/ 21 марта 2012

Я занимаюсь разработкой приложения ASP.NET с использованием веб-форм, и я сталкиваюсь с (я думаю, тривиальной) проблемой отправки электронной почты из учетной записи Microsoft Exchange Server.

Я использую класс ExchangeService (с Microsoft EWS API) и функцию AutodiscoverUrl для подключения к серверу Exchange.

Это мой код:

protected void Button2_Click(object sender, EventArgs e)
{
   string from = "myemail@myexchangeserver.com";
   string to = "recipient@email.com";

   ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
   service.AutodiscoverUrl(from);

   EmailMessage message = new EmailMessage(service);
   message.Subject = "Email Subject";
   message.Body = TextBoxMessage.Text;
   message.ToRecipients.Add(to);
   message.Save();

   message.SendAndSaveCopy();
}

Проблема в том, что я могу отправлять электронные письма только на локальные адреса электронной почты, т.е. с сервера Exchange и на него (только адреса моей компании). Отправка на «внешние» электронные письма, такие как gmail, не работает, хотя вызов SendAndSaveCopy не вызывает никаких исключений.

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

Что я делаю не так?

1 Ответ

0 голосов
/ 14 апреля 2012

Оказалось, что мой сервер не принимает AutodiscoverUrl, и мне пришлось вручную установить учетные данные для учетной записи электронной почты с помощью service.Credentials = новые WebCredentials («имя пользователя», «пароль», «домен»);

Спасибо за ваши комментарии, это действительно помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...