Back-end/Network

SMTP 기본 명령어

cheersHena 2020. 11. 11. 11:24
반응형

SMTP basic commands

HELO
(hello)
클라이언트는  SMTP 서버에 helo명령을 전송하여 SMTP를 식별하고 대화를 시작한다.
일반적으로  SMTP클라의 도메인이나 IP주소를 명령과 함께 전송한다.
ex) "HELO test.co.kr"
MAIL FROM 보낸이 메일주소 지정.
새 메일 트랜잭션이 시작되고 있는다는 것을 SMTP서버에 알리고 서버가 모든상태 테이블과 버퍼 등을 재설정하도록 한다.
 RCPT TO
(recipient to)
받는이 메일주소 지정.
주어진 전자메일 메세지에 대해 여러번 반복하여 메세지 전달 가능.
DATA 메세지 본문내용의 전송 시작.
DATA명령이 클라에서 서버로 전송된 후 서버는 354 응답 코드로 응답하고 그 후 메세지 내용을 서버로 전송한다.  DATA 본문 종료는 단일점 (.) 을 한줄에 단독으로 입력하여 종료를 알림.
RSET
(reset)
RSET명령이 전자메일 서버로 보내지면 현재메일 트랜잭션이 중단된다. 연결은 닫히지 않지만 보낸이,받는이 및 전자메일 데이터에 대한 모든정보가 초기화 되고 버퍼/상태 테이블이 삭제된다.
VRFY
(verify)
서버에 지정된 사용자 이름이나 사서함이 유효한지 확인하도록 요청한다.
NOOP
(no operation)
서버가 연결되어 있고 클라이언트와 통신할 수 있는지 확인한다.
NOOP명령은 수신자가 OK응답을 보내도록 하는 것 외에는 수행하지 않음.
QUIT 연결 종료.

 

 

Extendede SMTP (ESMTP) commands

클라이언트가 HELO명령 대신 EHLO(확장 hello) 명령을 사하여 SMTP통신을 싲가하면 몇가지 추가 SMTP명령을 사용할 수 있다. 모든 서버에서는 고유한 확장 SMTP명령이 있음. 클라이언트가 HELO명령을 서버에 보내면 서버는 사용가능한 ESMTP명령목록을 클라이언트로 다시 보낸다.

 

EHLO
(extended hello)
HELO와 동일하지만 클라이언트가 확장 SMTP 프로토콜을 대신 사용할 수도 있음을 서버에 알린다.
EHLO는 ESMTP명령을 사용하지 않더라도 사용이 가능하다.
추가 ESMTP명령을 제공하지 않는 서버는 일반적으로 최소한으로 EHLO명령을 인식하고 적절한 방식으로 응답한다.
AUTH
(authentication)
서버에 대한 클라이언트 인증시 사용한다.
클라이언트 사용자 아이디/암호를 전자메일 서버로 전송하여 인증한다.
STARTTLS
(start transport layer Security)
보안을 강화하기 위해 전자메일서버와 클라이언트 간 통신시
암호화된 TLS(전송계층 보안) 연결시 사용한다.
SIZE SMTP서버는 클라이언트에게 최대메시지 크기를 알리고 클라이언트는 전송할 전자메일 메세지의 크기를 SMTP서버에 알릴 수 있다.
HELP 서버에 도움말 요청.
ex) SMTP서버가 지원하는 명령 목록
반응형