web-dev-qa-db-ja.com

asp.netのEXCHANGESERVER(Microsoft Outlook Web Access)を使用してメールを送信する

コードを実行している同じマシンにインストールされているOutlookを使用してメールを送信する方法を知っています。ここでの要件は、asp.netコードでメールを送信するために私の組織のExchangeサーバー(Microsoft OWA)にアクセスすることです。

出来ますか?はいの場合、plzはいくつかの光を投げます。

Thnx

[〜#〜] update [〜#〜]

解決策を得ました。助けが必要な人のために、ここに私の作業コードを投稿してください。ハッピーコーディング!

protected void Button1_Click(object sender, EventArgs e)
{
     ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    //service.AutodiscoverUrl("[email protected]");

    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("[email protected]");
    message.Save();

    message.SendAndSaveCopy();

    Label1.Text = "Success !";    
}

別の質問: Microsoft Exchange2003の使用方法?? 'cozEWSはそこではサポートされていません。アイデアを更新してください...?

12
Kings

Exchange WebサービスAPI(EWS)を使用して電子メールを送信できます。 EWSは、OWAと同じサーバーでホストされる昔ながらのASMXWebサービスのセットです。 Microsoftは、EWS用のオープンソースマネージドAPIラッパー GitHub上 も公開しています。

EWSを使用して電子メールを送信する方法の例を次に示します。 http://code.msdn.Microsoft.com/Send-Email-with-Exchange-50189e57

GitHubのreadmeには、サンプルへのリンクも含まれています。

通常、EWSはhttp://yourexchangeserver/ews/exchange.asmxにありますが、マネージAPIを使用すると、自動検出を使用してExchangeサーバー上のEWSのアドレスを自動的に見つけることができます。

Exchange 2003に関する更新:

WebDAVを使用してHTTP経由でExchange2003メールストアにアクセスできます。 WebDAVは、OWAのインストールに必要な場合にフォームベース認証(FBA)を使用する必要があるため、使用するのが少し面倒です(比較すると、Exchange 2007/2010上のOWAがFBAを使用している場合でもEWSはWindows認証を使用できます)。

WebDAV for Exchangeを使用してメールを送信しようとしたことはありませんが(WebDAVを他の多くの目的で使用したことがあります)、 MSDNの例 を試してみてください。 Windows認証を使用するため、Exchange 2003OWAがFBAを使用するように設定されている場合は機能しません。 FBAを使用する必要がある場合は、お知らせください。使用できるサンプルコードがどこかにある可能性があります。

4

Asp.netから組織のExchangeサーバーを介して電子メールを送信することは可能ですが、OWAを使用することは望ましくありません。

いくつかのサンプルコードを提供する.Net電子メール専用のWebサイトがあります。参照: http://www.systemnetmail.com/

Exchange管理者にExchangeサーバーのSMTPポート(通常はポート25)へのアクセスをasp.netマシンに許可し、サーバーを介してメッセージを中継できるようにするためのアクセス許可を設定する必要があることを理解してください。

1
Mark Arnott