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


30

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

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

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

回答:


19

Microsoftからの言及された声明はひどく、完全に紛らわしいと思うし、それを書いた人がSMTPサーバーがどのように機能するかについての手がかりはないと思います。廃止される理由や、何か問題がある場合は説明しません。おそらくセキュリティ上の問題やバッファオーバーランがありますが、パブリックポートで公開しないのであれば、使用することをためらわないでしょう。

ここに私がやることがあります:

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

  • これは、控えめに言い表せないローカルSMTPサーバーを使用することの重要な利点であり、「System.Net.Smtp」自体は代替物ではありません

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

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

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


4
はい、同じことがWindows Server 2012にも当てはまります。ローカルのSMTPサーバーを使用してメッセージをキューに入れることの利点を理解している人が非常に少ないことにいつも驚いています。
リチャード

1
キューイングに加えて、SMTPサーバーはログを取得しますIIS 8.5のSMTP構成は、私が知っている限りログを提供しません。IIS 6を介してSMTPサーバーに追加し、IIS 8.5にW3Cログファイルを取得するためだけにローカルホストに接続するように指示します。
ベーコンビット

14

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

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

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


4

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

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

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

これらのライブラリを設定なしで使用した場合、それらはローカルIIS SMTPサーバーに送信されます。プログラマーは本質的に怠け者であるため、それは彼らの側で最も少ない労力で機能したので、それは彼らがしたことです。また、多くは異なるSMTPサーバーを介して電子メールを送信する方法を提供していませんでした。

記事で言うべきことは、IIS SMTPサーバーはもう存在しないが、SMTPライブラリはまだ提供されており、別のSMTPサーバーを使用するようにアプリケーションを構成する必要があるということです。


2
SMTPサーバーは、Windows Server 2012のWebサーバーロールの機能であり、インストールできます。廃止されましたが、削除されていません。
joeqwerty

「IIS6管理コンソール」の下にまだ表示されると思いますか?
サイモン

2
@Simonはい、Windows Server 2012でSMTPを構成するために、IIS 6の2002年と同じ古き良き管理コンソールが引き続き使用されます。:) IIS 6管理機能は、SMTP機能に依存しています。
bzlm

1
無知な怠lazのスラーは無視してください。ローカルSMTPサーバーが良いアイデアである(および他のほとんどのOSの標準であるクライアントサーバー)理由の詳細については、この回答を参照してください。
bzlm

Windows Server 10またはそれは何と呼ばれますか?同じ取引?
サイモン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.