티스토리 뷰
반응형
SMTP를 이용해서 이메일 전송하는 방법에 대해서 간단하게 알아봅시다. 별거 아니라는 생각이 들 수도 있겠지만 알아두면 유용하고 모르면 상당히 불편할 수도 있습니다. 따라서 번거롭더라도 일단 익혀두시면 유용하게 사용할 수 있을 겁니다. 기타 SMTP 와 관련된 보다 자세한 내용들은 RFC 821를 참고하시기 바랍니다.
예제: aaa@bb.com 사용자가 ccc@ddd.com에게 이메일 보내기
우선 텔넷을 이용해서 SMTP 포트에 접속, 직접 이메일을 작성해보도록 하겠습니다. STMP 서버는 예약된 포트번호가 25번입니다. 따라서 텔넷 프로그램을 이용해서 다음과 같이 자신이 사용할 수 있는 SMTP 서버에 접속합니다. (리눅스 텔넷이 아닌 이야기나 새롬데이타맨 같은 경우에는 기본적으로 입력내용이 화면에 보이지 않기 때문에 여러 가지로 불편한 점이 많습니다. 옵션에서 '입력내용 echo' 설정을 해주시기 바랍니다.)
telnet <ip 또는 도메인명> 25
ex) telnet mail.amail.co.kr 25
접속하면 간단한 메세지와 함께 프롬프트가 나타납니다. 우선 다음과 같이 한 줄씩 차례대로 입력해 봅니다. (한 줄씩 입력할 때마다 서버에서 응답이 오기 때문에 입력 후 잠시 기다리시기 바랍니다.)
helo localhost (SMTP 서버에게 자신이 누군지를 알려주는 부분, 맘대로 적어도 별 상관은 없음)
mail from: <aa@bbb.com>
rcpt to: <ccc@ddd.com>
data
from: 보내는사람<aa@bbb.com>
To: 받는사람<ccc@ddd.com>
Subject: 고객님 안녕하십니까?
안녕하십니까? 고객님 만나서 반갑습니다.
저희 웹사이트에 방문해 주셔서 대단히 감사합니다.
그럼 이만
.
quit
data 를 입력한 이후에 모든 내용을 타이핑했으면 . 를 찍어주고 quit를 입력해서 SMTP와의 접속을 끊습니다. 만약 본문내용을 HTML로 보내고 싶다면 아래와 같이 해주면 됩니다.
helo localhost (또는 보내는 사람의 서버명)
mail from: <aa@bbb.com>
rcpt to: <ccc@ddd.com>
data
From: 보내는사람<aaa@bb.com>
To: 받는사람<ccc@ddd.com>
Subject: 고객님 안녕하십니까?
Content-Type: text/html; charset=euc-kr
<html>
<head>
<title>가입환영 이메일</title>
</head>
<body>
안녕하십니까? 고객님 만나서 반갑습니다.
저희 웹사이트에 방문해 주셔서 대단히 감사합니다.
그럼 이만
</body>
</html>
.
quit
이런 식으로 Content-Type을 추가해주고 data 이하에 HTML 소스를 입력하면 됩니다. PHP의 mail() 함수나 JavaMail 같은 경우에 smtp 접속하는 부분은 API에서 내부적으로 처리하고 실제로는 data 부분의 내용만 세팅하도록 되어 있습니다. 하지만 모든 웹 프로그래밍 언어가 mail() 같은 기능을 제공해주지는 않을 뿐만 아니라 소켓연결 API만 있는 프로그래밍 언어로 이메일 보내기를 할 경우에는 기본적인 SMPT 사용법을 알고 있어야만 합니다.
따라서 SMTP에서는 기본적으로 가장 많이 사용하게 되는 HELO, MAIL, RCPT, DATA, QUIT 의 명령어 외에도 사용자 확인을 할 수 있는 VRFY, 메일링 리스트를 확인할 수 있는 EXPN, 이메일의 터미널 또는 메일박스로의 전송을 지정할 수 있는 SOML, SAML, 현재까지의 SMTP 트랜잭션을 취소할 때 사용하는 RSET, 도움말을 볼 때 쓰는 HELP, 그리고 TURN, NOOP 등의 명령어들도 있다는 것을 알아두셔야 합니다.
출처 - http://network.hanb.co.kr/view.php?bi_id=458
예제: aaa@bb.com 사용자가 ccc@ddd.com에게 이메일 보내기
우선 텔넷을 이용해서 SMTP 포트에 접속, 직접 이메일을 작성해보도록 하겠습니다. STMP 서버는 예약된 포트번호가 25번입니다. 따라서 텔넷 프로그램을 이용해서 다음과 같이 자신이 사용할 수 있는 SMTP 서버에 접속합니다. (리눅스 텔넷이 아닌 이야기나 새롬데이타맨 같은 경우에는 기본적으로 입력내용이 화면에 보이지 않기 때문에 여러 가지로 불편한 점이 많습니다. 옵션에서 '입력내용 echo' 설정을 해주시기 바랍니다.)
telnet <ip 또는 도메인명> 25
ex) telnet mail.amail.co.kr 25
접속하면 간단한 메세지와 함께 프롬프트가 나타납니다. 우선 다음과 같이 한 줄씩 차례대로 입력해 봅니다. (한 줄씩 입력할 때마다 서버에서 응답이 오기 때문에 입력 후 잠시 기다리시기 바랍니다.)
helo localhost (SMTP 서버에게 자신이 누군지를 알려주는 부분, 맘대로 적어도 별 상관은 없음)
mail from: <aa@bbb.com>
rcpt to: <ccc@ddd.com>
data
from: 보내는사람<aa@bbb.com>
To: 받는사람<ccc@ddd.com>
Subject: 고객님 안녕하십니까?
안녕하십니까? 고객님 만나서 반갑습니다.
저희 웹사이트에 방문해 주셔서 대단히 감사합니다.
그럼 이만
.
quit
data 를 입력한 이후에 모든 내용을 타이핑했으면 . 를 찍어주고 quit를 입력해서 SMTP와의 접속을 끊습니다. 만약 본문내용을 HTML로 보내고 싶다면 아래와 같이 해주면 됩니다.
helo localhost (또는 보내는 사람의 서버명)
mail from: <aa@bbb.com>
rcpt to: <ccc@ddd.com>
data
From: 보내는사람<aaa@bb.com>
To: 받는사람<ccc@ddd.com>
Subject: 고객님 안녕하십니까?
Content-Type: text/html; charset=euc-kr
<html>
<head>
<title>가입환영 이메일</title>
</head>
<body>
안녕하십니까? 고객님 만나서 반갑습니다.
저희 웹사이트에 방문해 주셔서 대단히 감사합니다.
그럼 이만
</body>
</html>
.
quit
이런 식으로 Content-Type을 추가해주고 data 이하에 HTML 소스를 입력하면 됩니다. PHP의 mail() 함수나 JavaMail 같은 경우에 smtp 접속하는 부분은 API에서 내부적으로 처리하고 실제로는 data 부분의 내용만 세팅하도록 되어 있습니다. 하지만 모든 웹 프로그래밍 언어가 mail() 같은 기능을 제공해주지는 않을 뿐만 아니라 소켓연결 API만 있는 프로그래밍 언어로 이메일 보내기를 할 경우에는 기본적인 SMPT 사용법을 알고 있어야만 합니다.
따라서 SMTP에서는 기본적으로 가장 많이 사용하게 되는 HELO, MAIL, RCPT, DATA, QUIT 의 명령어 외에도 사용자 확인을 할 수 있는 VRFY, 메일링 리스트를 확인할 수 있는 EXPN, 이메일의 터미널 또는 메일박스로의 전송을 지정할 수 있는 SOML, SAML, 현재까지의 SMTP 트랜잭션을 취소할 때 사용하는 RSET, 도움말을 볼 때 쓰는 HELP, 그리고 TURN, NOOP 등의 명령어들도 있다는 것을 알아두셔야 합니다.
출처 - http://network.hanb.co.kr/view.php?bi_id=458
반응형
'Programing' 카테고리의 다른 글
CSS, java script 기초적 PPT 강의 자료 (0) | 2007.08.30 |
---|---|
JSP 주석처리 (0) | 2007.08.30 |
[ANT] 설치 및 환경설정방법 (0) | 2007.08.30 |
PHP로 MSSQL연동하쟈! (0) | 2007.08.30 |
prospring - sample chapter (0) | 2007.08.30 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- apache
- Toad
- tomcat
- 리눅스
- 파일
- server
- Linux
- 서버
- mssql
- 윈도우
- 설정
- 오라클
- MySQL
- 자동차
- eclipse
- 백업
- DB
- 데이터
- Oracle
- select
- java
- Shell
- Windows
- DATABASE
- user
- 테이블
- table
- delete
- IP
- sql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함