Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

Windows Server의 모든 버전에서는 기본 제공 도구를 사용하여 SMTP 서버를 설치할 수 있습니다. 이 SMTP 서버는 조직 내 다양한 장치(예: 발신기, 스캐너, 출입통제 장치 등)와 애플리케이션(웹 앱, SQL Reporting Services, SharePoint 등)에서 SMTP 프로토콜을 통해 메일을 보낼 수 있도록 수신 및 발신을 처리하는 메일 릴레이(mail relay) 서비스로 활용할 수 있습니다. 이러한 릴레이는 Exchange 서버나 Gmail, Yahoo, Office 365(outlook.com) 같은 공용 이메일 서비스로 메시지를 전달할 수 있습니다. Microsoft Exchange Server 기반의 본격적인 사내 메일 인프라를 구축하는 것이 항상 바람직한 것은 아니기 때문입니다.

Windows Server 2016 / 2012 R2에 SMTP 서비스 설치하기

SMTP 서비스는 Windows Server의 기본 제공 기능 중 하나로, 서버 관리자(Server Manager)를 통해 설치할 수 있습니다. 서버 관리자 대시보드(servermanager.exe)를 열고 역할 및 기능 추가로 이동한 후, 설치할 기능 선택 단계에서 SMTP 서버(SMTP Server)를 체크하면 됩니다. SMTP 서비스를 관리하려면 IIS(Web Server) 역할에 포함된 관리 콘솔이 필요하므로, 일부 IIS 구성 요소도 함께 설치하라는 안내가 표시됩니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

Web Server(IIS) 역할의 제안된 옵션은 모두 기본값으로 두고 설치를 진행합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

PowerShell 명령어를 사용해서도 SMTP 서버 역할을 설치할 수 있습니다:

Install-WindowsFeature smtp-server

구성 요소 설치가 완료되면 서버 재시작이 필요할 수 있습니다.

Windows Server에서 SMTP 서버 구성하기

SMTP 서버는 여전히 구식 관리 콘솔인 IIS(인터넷 정보 서비스) 6.0 관리자를 통해 관리합니다. 서버 관리자에서 도구(Tools) → IIS 6.0 관리자를 선택하거나, inetmgr6.exe 명령으로 콘솔을 열 수 있습니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

IIS 6 관리자에서 서버 이름이 표시된 노드를 확장한 후, SMTP 가상 서버(SMTP Virtual Server)를 마우스 오른쪽 버튼으로 클릭하고 속성을 엽니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

일반(General) 탭에서는 필요에 따라 SMTP 서버가 응답할 IP 주소를 선택합니다(서버에 여러 개의 IP 주소가 있는 경우). 또한 수신된 모든 이메일 정보를 텍스트 로그 파일로 저장하기 위해 로깅 사용(Enable logging) 옵션을 체크하는 것이 좋습니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

다음으로 액세스(Access) 탭으로 이동합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

여기서 인증(Authentication) 버튼을 클릭하고 익명 액세스(Anonymous access)가 활성화되어 있는지 확인합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

다시 액세스(Access) 탭으로 돌아가 연결(Connection) 버튼을 클릭합니다. 여기서 SMTP 릴레이를 통해 이메일을 보낼 수 있는 장치의 IP 주소를 지정할 수 있습니다. 아래 목록만(Only the list below)을 선택하고 허용할 IP 주소(서브넷) 목록을 입력하되, 자기 자신(127.0.0.1)도 목록에 포함하는 것을 잊지 마세요.

릴레이(Relay) 설정에서도 동일한 방식으로 허용 IP 목록을 구성합니다(해당 버튼 클릭). 이 섹션에서는 SMTP 서버를 통해 이메일을 릴레이할 수 있는 IP 주소(또는 서브넷)를 지정합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

참고: 일반적으로 이 옵션들을 반드시 설정하고, 허용 장치 목록을 특정 IP 주소 범위로 제한하는 것이 좋습니다. 그렇지 않으면 스패머나 공격자가 여러분의 SMTP 서버를 대량 메일 발송용 오픈 릴레이(open relay)로 악용할 수 있습니다.

메시지(Messages) 탭으로 이동합니다. 여기서는 모든 NDR(배달 못 함 보고서) 사본을 받을 관리자 이메일 주소(Send copy of Non-Delivery Report to:)를 지정합니다. 또한 최대 메시지 크기(Limit message size KB)와 메시지당 최대 수신자 수(Limit number of recipients per message) 제한도 설정할 수 있습니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

배달(Delivery) 탭으로 이동합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

아웃바운드 보안(Outbound Security)을 클릭합니다. 여기서는 SMTP 서버가 모든 이메일 메시지를 전송(릴레이)할 외부 메일 서버에 대한 인증 방식을 지정합니다. 예를 들어, 모든 이메일이 Gmail 메일 서버로 전달된 후 수신자에게 발송되도록 하려면 기본 인증(Basic authentication)을 체크하고 Gmail 계정 자격 증명을 입력해야 합니다(Google 계정 설정에서 Gmail SMTP를 통한 메일 발송을 허용해야 합니다).

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

다음으로 고급(Advanced)을 클릭합니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

여기서 SMTP 서버의 FQDN 이름을 지정합니다. DNS 확인(Check DNS) 버튼을 클릭하여 DNS 레코드가 유효한지 확인하세요.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

서버가 외부 SMTP 서버로 메일을 보내는 경우, 스마트 호스트(Smart host) 필드에 해당 서버 이름을 입력합니다(예: smtp.gmail.com 또는 smtp.office365.com).

일부 공용 메일 서버는 TLS 암호화를 사용한 보안 SMTP 연결(TCP 포트 587)로만 이메일을 수신합니다. 이 설정은 배달(Delivery)아웃바운드 보안(Outbound Security)아웃바운드 연결(Outbound Connections) 섹션에서 구성할 수 있습니다. 사용 중인 이메일 제공업체의 문서를 참고하세요.

SMTP 서버 설정을 저장하고 변경 사항을 적용하기 위해 SMTP 가상 서비스를 다시 시작합니다.

주요 참고 사항:

  1. DNS 설정은 메일 시스템의 안정성 측면에서 매우 중요합니다. SMTP 서버가 메일을 보내려는 도메인의 DNS 이름을 올바르게 확인하지 못하면 배달이 실패합니다.
  2. 서버가 다른 도메인으로 메일을 보내는 경우, 역방향 DNS 조회를 위해 공인 IP 주소에 대한 올바른 PTR 레코드가 생성되어 있어야 합니다. 공인 IP 주소의 PTR 레코드는 서버의 FQDN 이름을 가리켜야 합니다. 그렇지 않으면 대부분의 외부 SMTP 서버는 여러분의 서버를 스패머로 간주하여 이메일을 수신하지 않습니다.

SMTPSVC 서비스 자동 시작 설정

이제 Windows Server에서 SMTP 서비스의 자동 시작을 구성해야 합니다. PowerShell 명령 프롬프트를 사용하면 빠르게 설정할 수 있습니다:

set-service smtpsvc -StartupType Automatic

서비스를 시작합니다:

start-service smtpsvc

SMTPSVC 서비스가 실행 중인지 확인합니다:

get-service smtpsvc

Status Name DisplayName
—— —- ————
Running smtpsvc Simple Mail Transfer Protocol (SMTP)

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

Windows에서 SMTP 서버 테스트하기

마지막으로 SMTP 서버가 정상적으로 작동하는지 확인해야 합니다. 가장 쉬운 방법은 바탕화면에 일반 텍스트 파일 smtp-test-email.txt를 만들고 아래 내용을 붙여넣는 것입니다. 보낸 사람과 받는 사람 주소는 본인의 것으로 변경하는 것을 잊지 마세요.

From: server@localdomain.com
To: admin@localdomain.com
Subject: Email test
This is the test email

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

smtp-test-email.txt 파일을 C:\inetpub\mailroot\Pickup 폴더로 복사합니다. Windows SMTP 서버는 이 폴더에 새 파일이 나타나는지 감시하며, 파일이 발견되면 내용을 읽어 To: 줄에 지정된 수신자에게 해당 제목과 본문으로 이메일을 보내려고 시도합니다.

수신자의 메일함을 확인하면 해당 이메일을 볼 수 있습니다.

Windows Server 2016/2012 R2 SMTP 서버 설치 및 구성 완벽 가이드

팁: telnet 명령, VBS 스크립트 또는 PowerShell을 사용해서도 SMTP 서버를 테스트할 수 있습니다:

Send-MailMessage -SMTPServer localhost -To manager@localdomain.com -From server@localdomain.com -Subject "Email test" -Body "This is the test email from PowerShell"

익명 인증 대신 모든 SMTP 클라이언트에 기본 인증(Basic Authentication)을 사용하도록 설정한 경우, telnet을 통해 SMTP 인증과 함께 이메일을 보낼 수도 있습니다.

또한 SMTP 서버의 TCP 25 포트가 로컬 방화벽이나 백신 소프트웨어에 의해 차단되지 않았는지 확인하세요. 가장 쉬운 방법은 허용 연결 목록에 IP 주소가 등록된 Windows 기반 컴퓨터에서 확인하는 것입니다. Test-NetConnection cmdlet으로 포트 25의 연결 가능 여부를 확인할 수 있습니다:

Test-NetConnection smtprelay.woshub.com –port 25

포트 25가 차단되어 있다면 Windows 방화벽, 백신 프로그램 및 하드웨어 방화벽의 설정을 점검하세요.

이제 Windows Server 2016 / 2012 R2에서 자체 SMTP 메일 릴레이를 구성하고, 이를 통한 이메일 발송까지 테스트를 마쳤습니다.