Отправка писем с использованием EXCHANGE SERVER (веб-доступ Microsoft Outlook) в asp.net - PullRequest
12 голосов
/ 20 июня 2011

Я знаю, как отправлять почту, используя Outlook, установленный на той же машине, где я запускаю свой код. Теперь здесь требуется доступ к серверу обмена (Microsoft OWA) моей организации для отправки писем в коде asp.net.

Возможно ли это? Если да, то, пожалуйста, пролите немного света.

Thnx

UPDATE

Получил решение. Размещение моего рабочего кода здесь для тех, кто хочет помочь. Удачного кодирования!

protected void Button1_Click(object sender, EventArgs e)
{
     ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    //service.AutodiscoverUrl("youremailaddress@yourdomain.com");

    service.Url = new Uri("https://yourwebmailaddress.com/ews/Exchange.asmx");

    service.UseDefaultCredentials = true;
    //service.Credentials = new WebCredentials("username", "password");


    EmailMessage message = new EmailMessage(service);
    message.Subject = "My auto mail from exchange server";
    message.Body = "hi everyone !";
    message.ToRecipients.Add("brad.pitt@hollywood.com");
    message.Save();

    message.SendAndSaveCopy();

    Label1.Text = "Success !";    
}

Другой вопрос: Как использовать Microsoft Exchange 2003? Потому что EWS там не поддерживается. Пожалуйста, обновите любую идею ...?

Ответы [ 2 ]

4 голосов
/ 21 июня 2011

Вы можете отправлять электронные письма, используя API веб-служб Exchange (EWS).EWS - это набор старомодных веб-сервисов ASMX, размещенных на том же сервере, что и OWA.Microsoft даже опубликовала управляемую оболочку API с открытым исходным кодом на GitHub для EWS.

Вот пример того, как отправлять электронные письма, используя EWS: http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57

В файле readme GitHub также есть ссылки на образцы.

Обычно EWS можно найти на http://yourexchangeserver/ews/exchange.asmx но с помощью управляемого API вы можете использовать автообнаружение для автоматического поиска адреса EWS на вашем сервере Exchange.

Обновление, касающееся Exchange 2003:

Вы можете получить доступ к Exchange2003 почтовый магазин через HTTP с использованием WebDAV.Использовать WebDAV немного затруднительно, поскольку вам может потребоваться использовать проверку подлинности на основе форм (FBA), если этого требует установка OWA (для сравнения EWS может использовать проверку подлинности Windows, даже если в OWA на Exchange 2007/2010 используется FBA).

Я никогда не пытался отправлять письма с использованием WebDAV для Exchange (хотя я использовал WebDAV для ряда других вещей), но я нашел пример на MSDN , который вы, возможно, захотите попробовать.Он использует проверку подлинности Windows, поэтому он не будет работать, если ваш Exchange 2003 OWA настроен на использование FBA.Если вам нужно использовать FBA, дайте мне знать - у меня может быть где-нибудь пример кода, который вы можете использовать.

1 голос
/ 21 июня 2011

Можно отправлять электронную почту через сервер обмена вашей организации с asp.net, но вы не захотите использовать OWA.

Существует веб-сайт, посвященный электронной почте .Net, который должен дать вам пример кода. Увидеть: http://www.systemnetmail.com/

Поймите, что вам нужно будет попросить администратора Exchange предоставить вашей машине asp.net доступ к SMTP-порту (обычно это порт 25) на сервере Exchange и настроить разрешения, чтобы вы могли передавать сообщения через сервер.

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