UBUNTU-LINUX Telnet으로 sendmail 테스트 해보기
포스트
취소

UBUNTU-LINUX Telnet으로 sendmail 테스트 해보기

들어가며

현재 저는 공부용으로 라즈베리파이에 우분투 리눅스를 사용중입니다.
MTA(Mail Transfer Agent)로 sendmail을 이용했습니다.
구성 후 간단한 테스트를 위해 텔넷을 이용했던 내용을 기록합니다.

1. SMTP 포트 확인

전제가 세팅 완료 이후이므로 세팅 이후 포트로 잘 동작하고 있는지 확인합니다.
netstat으로 포트가 잘 열려있는지 확인할 수 있습니다.

1
netstat -tnlp | grep LISTEN

2. Telnet(텔넷)으로 테스트 해보기

nslookup으로 사용가능한 메일서버를 찾을 수도 있습니다만, sendmail을 이용한 메일 전송 테스트가 목적이기 때문에 제 서버로 테스트를 진행합니다.

1
2
# 예시
telnet localhost 25

위처럼 접근하면 아래와 같은 메세지를 볼 수 있습니다. ""

흰색 네모 표기가 되어있는 곳은 서버의 IP나, 도메인등이 표기됩니다.

이후 발송주소를 입력합니다. mail from 이후 메일주소를 입력합니다.

1
mail from : sender@test.com

""

mail from을 입력하고 나면 붉은색 네모 안에 표기된 메시지가 나오는데 SMTP 서버에 helo명령을 전송하여 SMTP를 식별하는 것입니다.
보통은 SMTP의 도메인을 전송합니다. 여기서는 localhost로 접속하였다면 localhost라고 해주시면 됩니다.

1
helo domain.co.kr

""

~~ pleased to meet you라는 메세지가 나오면 잘 된 것입니다.
이후 수신주소를 입력해야하는데요, rcpt to 이후 메일주소를 입력합니다.

1
rcpt to : receiver@test.com

"" ""

이때 Need to MAIL before RCPT라는 메세지가 나오는데, 앞서 HELO 명령어로 식별만 했을 뿐 발신주소가 인식된 것이 아닙니다.
따라서 HELO 이후 한 번 더 mail from을 이용해 발신주소를 입력하면 됩니다. 이후 rcpt to로 수신주소를 입력하면 발신인/수신인 지정은 완료됩니다.

이후 data 명령어로 보내고자 하는 내용을 작성합니다.
내용을 다 작성하였다면 단일점(“.”)으로 끝내주시면 됩니다. Message accepted for delivery와 함께 완료되며 잘 진행됐는지 확인해보시면 됩니다.

""

모든걸 확인하셨다면 CTRL+], q로 접속을 종료해줍니다.

3. SMTP commands 정리

위에서 사용하였던 명령어만 우선 정리합니다.
더 자세한 것은 “SMTP Commands 링크” 에서 확인해주세요.

SubcommandDescription
DATA텍스트 데이터로 메세지 본문 정의. DATA 본문 종료는 “.”을 입력.
EHLOHELO의 ESMTP(Enhanced SMTP) 버전.
ESMTP는 SMTP 프로토콜에 많은 필수 추가 사항을 추가함.
HELO송신 서버는 자신이 누구인지 식별하고 수신 서버는(RFC에 따라) 지정된 이름을 수락함.
때문에 정확한 정보를 제공할 필요가 없으나 보통은 도메인 정보를 전달함.
MAIL FROM발신 주소 지정
RCPT TO수신 주소 지정
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Jekyll 폰트 적용

JAVA-알고리즘 Leetcode(Easy)-Sqrt(X)