0

こんにちは、sendgrid やその他のサード パーティを使用せずに Azure で電子メール機能を実装する方法を教えてください。AzureとExchangeサーバーを接続してメールを送信するサービスバスを用意できますか.それは可能ですか.または、Azureにアクセスしてメールを送信するExchangeサーバーWebサービスがありますか?

4

2 に答える 2

2

問題は、サード パーティを使用しなければならないことではなく、セキュリティとファイアウォールへの影響です。Exchange サーバーでは、(ユーザー名とパスワードを使用しても) 送信 smtp を有効にすることができ、任意のアプリケーション (Azure で実行されているものを含む) が送信 SMTP を送信するのは簡単です。常に遭遇する問題は、Exchange サーバーの周囲の境界セキュリティがパブリック IP アドレスからの smtp を許可しないことです (ハッカーは頻繁に開いているポート 25 をスキャンし、無防備なメール サーバーを介してスパムをリレーできるようにします)。Windows Azure (ロールと Web サイト) は固定 (発信) IP を使用できないため、ファイアウォール ルールを作成できません。

オプションは次のとおりです。

  1. 企業ネットワークで VPN をセットアップして、Azure インスタンスがプライベート IP アドレスから送信するようにします。
  2. Azure VM でメール リレー サービスを実行します。VM は IP アドレスを無限にリースできるため、(あまり) 変化しません。Linux で動作するシンプルで安価なメール転送エージェント サービスがあります。
  3. 任意の 'ol smtp サーバーを使用します。あまり送信しない場合は、Google または outlook.com を使用することもできます。Outlook.com では、他の場所でホストされているアカウントを構成できるため、Windows Live ID (Microsoft アカウント) で smtp を使用できるはずです。

サービス バスのようなものを使用する複雑なコードやサービスを記述することは避けます。System.Net.Mail を使用して、smtp サーバーに送信する必要があります。

于 2013-04-22T13:47:16.050 に答える
0

私が過去に行ったことの 1 つは、Windows Azure アプリでメッセージをキューに入れ、必要に応じてより大きなデータ (添付ファイル、大きな本文テキストなど) を BLOB に入れることでした。これにより、Windows Azure ストレージに格納されているデータが取得されます。そこから、オンプレミス アプリ (Windows サービスなど) がキューと BLOB データを取得し、電子メール メッセージを作成して、オンプレミス Exchange サーバーに送信できます。

すべてをクラウドでホストする必要がある場合は、Windows Azure アプリを Exchange Web サービス エンドポイントに接続できるはずだと思います (適切に保護して Web サービス接続を確立できると仮定します)。

于 2013-04-22T13:15:27.407 に答える