Я занимаюсь разработкой приложения 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, и возникает исключение.
Что я делаю не так?