퍼블릭 클라우드
리눅스에서 Amazon SES를 이용한 이메일 테스트하는 방법
변군이글루
2021. 9. 14. 17:06
반응형
리눅스에서 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
반응형