소개

이메일 전송은 현대 비즈니스에 필수적입니다. 안정적이고 보안성이 강화된 SMTP(Simple Mail Transfer Protocol) 서버는 이러한 요구를 충족하는 데 필수적입니다. 이 블로그 글에서는 Amazon Web Services(AWS)를 사용하여 SMTP 서버를 구축하는 방법에 대한 단계별 가이드를 제공합니다.

1단계: EC2 인스턴스 생성

  • AWS 콘솔에 로그인합니다.
  • EC2 서비스를 엽니다.
  • 인스턴스 시작을 클릭합니다.
  • Amazon Linux AMI와 같은 Linux 배포판을 선택합니다.
  • 필요한 인스턴스 유형을 선택합니다(t2.micro 권장).
  • 인스턴스에 보안 그룹을 추가하여 25번 포트(SMTP)의 트래픽을 허용합니다.

2단계: Postfix 설치 및 구성

  • 인스턴스에 SSH 연결합니다.
  • 다음 명령을 사용하여 Postfix를 설치합니다.
sudo yum install postfix
  • Postfix를 시작하고 활성화합니다.
sudo systemctl start postfix
sudo systemctl enable postfix
  • Postfix를 편집하고 다음 구성 옵션을 설정합니다(main.cf).
myhostname = <인스턴스의 공개 DNS 이름>
mydomain = <이메일 주소의 도메인 이름>

3단계: DNS 레코드 추가

  • AWS Route 53 또는 다른 DNS 공급자를 사용하여 SPF 및 DKIM DNS 레코드를 설정합니다.
  • SPF 레코드는 이메일 서버가 해당 도메인에서 이메일을 보낼 수 있음을 확인합니다.
  • DKIM 레코드는 전송된 이메일이 위조되지 않았음을 확인합니다.

4단계: SES 연동(선택 사항)

  • Amazon SES(Simple Email Service)와 통합하여 확장성과 신뢰성을 향상시킬 수 있습니다.
  • SES 콘솔에서 SMTP 자격 증명을 생성합니다.
  • Postfix 구성 파일(main.cf)에서 다음 옵션을 설정합니다.
relayhost = [SES SMTP 서버 호스트명]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  • 파일 /etc/postfix/sasl_passwd를 생성하고 다음을 추가합니다.
[SES SMTP 서버 호스트명] [SES SMTP 사용자 이름]:[SES SMTP 비밀번호]

5단계: 테스트 및 문제 해결

  • telnet 명령을 사용하여 서버와 연결합니다.
telnet [인스턴스의 공개 IP 또는 도메인 이름] 25
  • HELO 명령으로 인사합니다. 올바른 환영 메시지가 표시되어야 합니다.
  • 이메일 메시지를 보냅니다. 예:
MAIL FROM:<보낸 사람의 이메일 주소>
RCPT TO:<수신자의 이메일 주소>
DATA
...이메일 메시지...
.

결론

이 단계별 가이드를 따라하면 AWS를 사용하여 안정적이고 보안성이 강화된 SMTP 서버를 구축할 수 있습니다. 이 서버를 통해 이메일을 안전하고 효과적으로 전송하여 비즈니스 통신을 향상시킬 수 있습니다.