Windows Server 2012에서 IIS SMTP 서버를 대체하는 것


30

Windows 2012에서 더 이상 사용되지 않거나 제거 된 기능에 대한 http://technet.microsoft.com/ko-kr/library/hh831568.aspx 메모를 읽었으며 SMTP가 더 이상 사용되지 않는다고 말합니다. 이것이 IIS SMTP 서버를 참조한다고 가정합니다. 조언은 System.Net.Smtp를 대신 사용하는 것이지만 System.Net.Smtp라는 다른 곳에서 참조를 찾을 수 없기 때문에 이것이 잘못 인쇄 된 것으로 가정합니다.

실제로 System.Net.Mail이라고 말하면 API 일 뿐이며 API가 서버 프로세스를 어떻게 대체하는지 알 수 없습니다. 포트 25에서 연결을 수락하고 IIS SMTP와 같은 대상으로 전자 메일을 라우팅하는 서비스가 필요합니다.

누구든지 여기 상황을 명확히 할 수 있습니까? 그들이 Exchange에 의해 대체되었다고 말한 경우, 나는 그들에게 저주를 할 것이지만 적어도 그것은 현재의 가장 확실한 것은 아니지만 의미있는 말을 할 것입니다.

답변:


19

Microsoft의 언급 된 진술은 끔찍하고 완전히 혼란스럽고 SMTP 서버의 작동 방식에 대한 단서가 있다고 생각하지 않습니다. 더 이상 사용되지 않는 이유 또는 문제가있는 이유는 설명하지 않습니다. 보안 문제 나 버퍼 오버런이있을 수 있지만 공용 포트에 노출하지 않으면 주저하지 않습니다.

내가하는 일은 다음과 같습니다.

  • IIS에서 도메인이을 가리 키도록 'SMTP Email'을 설정했습니다 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
  • 메일을 보내면 로컬 호스트로 보내지기 때문에 즉시 반환됩니다.

  • 이제 이것은 과소 평가할 수없고 'System.Net.Smtp'자체가 대체가 아닌 로컬 SMTP 서버를 사용하면 얻을 수있는 중요한 이점입니다 .

    • SMTP 서버는 스마트 호스트를 통해 메일을 릴레이하려고 시도하고 즉시 보낼 수 없으면 나중에 다시 시도합니다.
    • 때때로 smtp.gmail.com응답하지 않거나 네트워크가 다운 되었음을 인식하는 것이 중요 합니다. (처음으로 메일을 직접 보내려고 할 때 놀랍게도 흔했습니다)
    • 메시지를 저장하는 중간 SMTP 서버가 없으면 .NET에서 '보내고 잊을'수 없으며 SMTP 서버에서는 완전히 필요하지 않은 재시도 메커니즘을 찾아야합니다.
    • ISP / GMail에서 SMTP 릴레이 제한이있는 경우 SMTP 서버는 계속 재 시도하고 다음 날 메시지를 보냅니다. 매일 트래픽이 일정하지 않거나 제한없이 충돌하면 또 다른 큰 이점이 있습니다. 실현.

계속해서 사용하십시오. Microsoft는 교체를 제공하지 않았으므로 무료입니다. '더 이상 사용되지 않음'은 대체품이 없으면 내 의견으로는 아무 의미가 없습니다.

면책 조항 : 나는 여전히 Server 2008을 사용하고 있지만이 모든 것이 여전히 적용된다고 가정합니다.


4
예, Windows Server 2012에도 동일하게 적용됩니다. 로컬 SMTP 서버를 사용하여 메시지를 대기열에 넣을 수 있다는 이점을 알고있는 사람은 거의 없습니다.
Richard

1
큐에 추가하여 SMTP 서버는 로깅을 제공합니다. IIS 8.5의 SMTP 구성은 내가 아는 한 어떠한 로깅도 제공하지 않습니다. IIS 6을 통해 SMTP 서버에 추가하고 IIS 8.5가 W3C 로그 파일을 가져 오기 위해 로컬 호스트에 연결하도록 지시합니다.
베이컨 비트

14

웹 서버 역할의 SMTP 기능은 더 이상 사용되지 않지만 제거되지 않았습니다. 설치하여 사용할 수 있지만 다른 (외부) SMTP 서버를 사용하는 것이 좋습니다.

SMTP 및 관련 관리 도구는 더 이상 사용되지 않습니다. Windows Server 2012에서이 기능을 계속 사용할 수 있지만 System.Net.Smtp를 사용해야합니다. 이 API를 사용하면 픽업 할 파일에 메시지를 삽입 할 수 없습니다. 대신 SMTP를 사용하여 포트 25에서 다른 서버에 연결하도록 웹 응용 프로그램을 구성하십시오.

따라서 앞으로는 별도의 SMTP 서버 (사용 가능한 많은 서버)를 설치하고 사용하여 Windows ServerX에서 실행되는 웹 응용 프로그램에 SMTP 서비스를 제공 할 것입니다.


4

당신이 연결 한 기사에서 그 설명은 끔찍합니다! 그러나 여기 당신에게 말하려는 것이 있습니다 :

이전 버전의 Windows에서 IIS SMTP를 설정하면 두 가지 작업이 수행되었습니다.

  1. IIS SMTP 서버를 시작했습니다.
  2. 메시지 전송을위한 프로그래밍 라이브러리 (예 : COM 객체 등)가 추가되었습니다.

구성이없는 라이브러리를 사용하면 로컬 IIS SMTP 서버에 제출됩니다. 프로그래머는 본질적으로 게으 르기 때문에 최소한의 노력으로 작업했기 때문에 그렇게했습니다. 그리고 많은 사람들이 다른 SMTP 서버를 통해 이메일을 보내는 방법을 제공하지 않았습니다.

이 기사에서는 IIS SMTP 서버가 더 이상 존재하지 않지만 SMTP 라이브러리는 계속 제공되며 다른 SMTP 서버를 사용하도록 응용 프로그램을 구성해야합니다.


2
SMTP 서버는 Windows Server 2012에서 웹 서버 역할의 기능이며 설치할 수 있습니다. 더 이상 사용되지 않지만 제거되지 않았습니다.
joeqwerty

여전히 'IIS6 관리 콘솔'에 여전히 표시되어 있다고 가정합니까?
Simon

2
@Simon 예, IIS 6과 2002 년의 동일한 이전 관리 콘솔은 여전히 ​​Windows Server 2012에서 SMTP를 구성하는 데 사용됩니다. :) IIS 6 관리 기능은 SMTP 기능에 대한 종속성입니다.
bzlm

1
무지한 게으름 슬러를 무시하십시오. 로컬 SMTP 서버가 좋은 아이디어 인 이유 (및 대부분의 다른 OS- 클라이언트 서버 에서 표준 )에 대한 자세한 내용은 이 답변을 참조하십시오 .
bzlm

Windows Server 10 또는 그게 뭐에요? 같은 거래?
Simon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.