web-dev-qa-db-ja.com

置き換えられるものIIS Windows Server 2012のSMTPサーバー

Windows 2012で非推奨となった機能と削除された機能に関して http://technet.Microsoft.com/en-us/library/hh831568.aspx のメモを読みましたが、SMTPは非推奨であると述べています。これはIIS SMTPサーバーを参照していると思います。代わりにSystem.Net.Smtpを使用することをお勧めしますが、他の場所への参照が見つからないため、これは誤植だと思います。 System.Net.Smtp。

彼らが実際にSystem.Net.Mailを言うつもりなら、それは単なるAPIであり、APIがサーバープロセスをどのように置き換えるかはわかりません。ポート25で接続を受け入れ、IIS SMTPを使用していたような宛先に電子メールをルーティングするサービスが必要です。

誰かがここで状況を明確にできますか? Exchangeに置き換えられたと彼らが言っていたなら、私は彼らをののしりましたが、少なくともそれは私にとって意味のある発言でしょうが、現在の発言は最も間違いなくそうではありません。

30
Andy

Microsoftからの言及されたステートメントはひどくて完全に混乱していると思います。また、それを書いた人がSMTPサーバーがどのように機能するかについての手がかりはないと思います。それがなぜ非推奨であるか、または何かがそれで間違っているかどうかは説明しません。おそらく、セキュリティの問題やバッファオーバーランがあるかもしれませんが、それをパブリックポートで公開していないのであれば、遠慮なく使用してください。

これが私がすることです:

  • IISで、ドメインの「SMTPメール」を_10.0.0.1_を指すように設定しました。展開したサイトの親フォルダでこれを行うと、再展開すると消去されます。必要な場合は、直接web.configに配置できますが、その方法では柔軟性が低くなります。
  • SMTPサーバー(IIS6管理コンソールを使用)で、SMTPサーバーを_10.0.0.1_に設定しました。明らかに、前に言ったように、これは公衆インターネットで公開されていません。
  • このサーバーを スマートホスト経由のリレー に_smtp.gmail.com_または_smtp.live.com_で構成します
  • 私の.NETアプリケーションでは、Mail APIを使用し、new SmtpClient()を使用してメッセージを送信します。これはIISから構成を取得し、_10.0.0.1_にある私のSMTPサーバーにメールを送信します
  • メールを送信すると、localhostに送信されているだけなのですぐに返されます

  • これが、控えめに言うことはできず、 'System.Net.Smtp'自体が代用できないローカルSMTPサーバーを使用することの重要な利点です

    • SMTPサーバーはスマートホストを介してメールを中継しようとし、すぐに送信できない場合は後で再試行します。
    • _smtp.gmail.com_でも応答しない場合や、ネットワークがダウンしている場合があることを理解することが重要です。 (私が最初に直接メールを送信しようとしたときに驚くほど一般的です)
    • メッセージを保存するための中間SMTPサーバーがなければ、.NETから「送信して忘れる」ことはできず、SMTPサーバーではすべてを不要にする何らかの再試行メカニズムを理解する必要があります。
    • (ISP/GMailで)SMTPリレーの制限がある場合、SMTPサーバーは次の日に再試行してメッセージを送信するだけであると信じています-トラフィックが日々一貫していないか、制限なしに制限に達した場合のもう1つの大きなメリット実現しています。

先に進んでそれを使用してください。マイクロソフトは代替品を提供しておらず、無料ですのでなぜでしょうか。 「非推奨」とは、代替がない場合、私の意見では何も意味しません。

免責事項:私はまだServer 2008を使用していますが、これはまだすべて当てはまると思います。

19
Simon

Webサーバーの役割のSMTP機能は廃止されましたが、削除されていません。インストールして使用することもできますが、別の(外部)SMTPサーバーを使用することをお勧めします。

SMTPおよび関連する管理ツールは非推奨です。この機能はWindows Server 2012でも使用できますが、System.Net.Smtpの使用を開始する必要があります。このAPIを使用すると、ピックアップのためにメッセージをファイルに挿入できなくなります。代わりに、SMTPを使用してポート25で別のサーバーに接続するようにWebアプリケーションを構成します。

したがって、将来的には、別のSMTPサーバー(多くのサーバーが利用可能です)をインストールして使用し、Windows ServerXで実行されているWebアプリケーションにSMTPサービスを提供します。

14
joeqwerty

あなたがリンクした記事のその説明はひどいです!しかし、これはあなたに伝えようとしていることです:

IIS以前のバージョンのWindowsでSMTPをオンにすると、次の2つのことが行われました。

  1. IIS SMTPサーバーを起動しました。
  2. メッセージを送信するためのプログラミングライブラリ(COMオブジェクトなど)を追加しました。

これらのライブラリを構成せずに使用した場合、ライブラリはローカルのIIS SMTPサーバーに送信されます。プログラマーは本質的に怠惰であるため、最小限の労力で機能するため、そして、多くは、別のSMTPサーバー経由で電子メールを送信する方法を提供していませんでした。

記事の説明によると、IIS SMTPサーバーは存在しませんが、SMTPライブラリは引き続き提供されており、アプリケーションは別のSMTPサーバーを使用するように構成する必要があります。

4
longneck