SMTP를 이용해서 이메일 전송하기

2007. 8. 30. 00:03·Programing
반응형
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
반응형

'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
'Programing' 카테고리의 다른 글
  • CSS, java script 기초적 PPT 강의 자료
  • JSP 주석처리
  • [ANT] 설치 및 환경설정방법
  • PHP로 MSSQL연동하쟈!
애플자라
애플자라
    반응형
  • 애플자라
    애플자라
    애플자라
  • 전체
    오늘
    어제
    • 분류 전체보기 (655)
      • Linux (93)
      • Programing (92)
      • Flex, Laszlo (15)
      • Database (168)
      • Network (15)
      • Data (14)
      • Tips (119)
      • 여행★ (1)
      • Board (115)
      • 맛집탐방 (3)
      • 아이원츄 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • Love&Smile
    • Husk's repository
    • StartUp
    • DSDSTUDIO Experimentals
    • 신선
    • DEV.SEULKI.KR[이슬기]
    • Live Bit Block
  • 공지사항

  • 인기 글

  • 태그

    서버
    DATABASE
    eclipse
    tomcat
    자동차
    table
    Oracle
    데이터
    Linux
    윈도우
    MySQL
    sql
    Toad
    DB
    설정
    apache
    오라클
    user
    IP
    select
    Windows
    server
    Shell
    백업
    리눅스
    delete
    java
    테이블
    mssql
    파일
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
애플자라
SMTP를 이용해서 이메일 전송하기
상단으로

티스토리툴바