13.Form Mail


  일반적으로 웹 브라우저에서 다음과 같이 작성하게 되면, 사용자가 지정한 메일 작성기, 예를 들면, Exchange Mail이나, 브라우저용 메일 프로그램이 자동으로 구동하게 된다.

<A HREF=mailto:Deadfire> Mail </A>
  그러나, 위와 같이 하게 되면, 별도의 메일계정을 가지고 있지 못하는 사용자가 클릭하는 경우 에러 메세지만 보여지게 된다. 그래서 이러한 기능을 CGI로 처리하여 브라우저만 있어도 메일을 주고 받을 수 있게 한 것이 Form Mail이다.

  HTML의 FORM Tag를 이용하기 때문에 이를 FORM MAIL이라고 부른다.
    Form Mail   Form Mail을 쓰는 또다른 이유는 정해진 양식으로 메일을 받아서 처리하고 싶은 경우에도 도움이 된다. 즉, 견적서, 설문조사, 입사지원양식등을 Form Mail로 처리하게 되면, 지정된 양식으로 바로 결과를 받아볼 수 있게 되는 것이다. (이렇게 받은 데이터를 별도의 프로그램으로 처리하게 하여 다량의 데이터(정확한)를 확보할 수 있는 하나의 방법이기도 하다.
  UNIX상에 메일을 보낼 때 쓰는 프로그램으로 sendmail이라는 프로그램이 있다. 이 sendmail이란 프로그램을 이용해서 메일을 보내게 된다. 그래서 일단 이 sendmail에 대해서 알아보도록 하자. telnet상에서 메일을 보낼 때는 다음과 같은 형식을 사용한다.

  • sendmail 수신자주소 < 전송할파일명
  • sendmail -t -f 발신자주소 -oi -n < 전송할파일명
  sendmail의 옵션에는 다음과 같은 것들이 있다.

-f발신자의 주소 지정
-t수신자의 주소가 전송할 파일명안에 있음을 의미
-n alias검사를 하지 않는다.
-oi전송문서의 끝을 인식하는데 EOF를 사용하겠다.


  sendmail을 보낼 때는 주로 4가지내용이 주가 된다. 즉, 보내는 사람, 받을 사람, 제목, 내용. 이 4가지만 보내는 경우는 간단히 -t, -f옵션만 사용해서 보낼 수 있다. 즉, UNIX의 telnet상에서 메일을 보낼 때, 다음과 같이 작성하게 된다.

$sendmail -t -f Deadfire
Subject: 테스트입니다.
To: someone@server.com

안녕하세요?
그냥 한번써봤습니다.
....
<Ctrl+d>


  위와 같이 실행하고 나면, 실행결과가 나타나지는 않지만 보내진거다. 여기서 @weppy.com이라고 호스트명을 써주는데, 같은 서버(H/W가 같은 경우)간에 메일을 보낼때는 별도로 HOST의 이름을 주지는 않는다. 그러나, 서버가 서로 다른 경우는 반드시 HOST명을 주어야 하는 것이다. 그동안 보아왔던 인터넷 E-메일은 향상 HOST명이 있었는데, 인터넷상에서는 대부분 서버가 다르기 때문에 항상 HOST이름이 있었던 것 뿐이다.

- Last Update : 2001.7.9 by Deadfire(http://www.deadfire.net)

CGI with C 활용
브라우저구분
환경변수LIST
클라이언트풀
서버푸쉬
Form Mail
진행현황보기
Cookie
MD5
File Download
SSI
Redirection
File Upload
GD1.2
Database
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master