본문 바로가기

퍼블릭 클라우드

리눅스에서 Amazon SES를 이용한 이메일 테스트하는 방법

반응형

리눅스에서 Amazon SES를 이용한 이메일 테스트하는 방법

awsses-send_email.sh 작성

vim awsses-send_email.sh
#!/bin/bash

# Amazon SES SMTP 설정
SMTP_DOMAIN="sangchul.kr"
SMTP_SERVER="email-smtp.ap-northeast-2.amazonaws.com"
SMTP_PORT="587"
SMTP_USERNAME_BASE64=$(echo -n "SMTPUSERNAME" | openssl enc -base64)
SMTP_PASSWORD_BASE64=$(echo -n "SMTPPASSWORD" | openssl enc -base64)
MAIL_FROM="noreply@${SMTP_DOMAIN}"

# 수신자 이메일 주소 (인자로 전달되지 않으면 기본 주소 사용)
MAIL_TO="${1:-test2@4wxyz.com}"

# SMTP 인증 및 이메일 내용 생성
{
  echo "EHLO ${SMTP_DOMAIN}"
  echo "AUTH LOGIN"
  echo "$SMTP_USERNAME_BASE64"
  echo "$SMTP_PASSWORD_BASE64"
  echo "MAIL FROM: ${MAIL_FROM}"
  echo "RCPT TO: ${MAIL_TO}"
  echo "DATA"
  echo "From: Sender Name <${MAIL_FROM}>"
  echo "To: ${MAIL_TO}"
  echo "Subject: Amazon SES SMTP 테스트"
  echo ""
  echo "이 메시지는 Amazon SES SMTP 인터페이스를 사용하여 전송되었습니다."
  echo "."
  echo "QUIT"
} > input.txt

# SMTP 서버와 연결하고 이메일 전송
openssl s_client -crlf -quiet -starttls smtp -connect "${SMTP_SERVER}:${SMTP_PORT}" < input.txt

# 임시 파일 삭제
rm input.txt
chmod +x awsses-send_email.sh
728x90

스크립트를 실행(메일 발송 테스트)

./awsses-send_email.sh [수신자이메일주소]

[수신자이메일주소]는 선택 사항이며, 지정하지 않으면 기본 주소로 이메일이 보내집니다.

./awsses-send_email.sh
./awsses-send_email.sh bounce@simulator.amazonses.com
$ ./awsses-send_email.sh
depth=4 C = US, O = "Starfield Technologies, Inc.", OU = Starfield Class 2 Certification Authority
verify return:1
depth=3 C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
verify return:1
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = email-smtp.ap-northeast-2.amazonaws.com
verify return:1
250 Ok
250-email-smtp.amazonaws.com
250-8BITMIME
250-STARTTLS
250-AUTH PLAIN LOGIN
250 Ok
334 XXXXxxxxxx
334 YYYYyyyyyy
235 Authentication successful.
250 Ok
250 Ok
354 End data with <CR><LF>.<CR><LF>
250 Ok 010c017be353c679-0cc6c562-c5c2-419d-8e0c-98d387075857-000000
451 4.4.2 Timeout waiting for data from client.

 

참고URL

- 스크립트(github) : https://github.com/anti1346/amazonSESmailtest

 

728x90
반응형