메일을 PHP로 받아서 파싱하기

희망주기(hopegiver) http://cafe.naver.com/hopegiver/8

2004년 6월 23일에 phpschool.com 에 올린 글입니다.

아주 오래전에 사용했던 기술인데 최근에 다시 필요해서 정리하는 김에 이곳에 올려봅니다.
그런데 제목이 좀 아리까리 하네요. ^^; 제목을 어떻게 표현해야 할지 몰라서..
기존에 널리 사용되던 기술인데 걍 PHP로 함 해봤습니다.

[제작동기]
고객들이 보내는 메일을 파싱해서 카테고리 별로 데이타베이스에 저장하기 위해서..
더 나아가 자동응답 메일을 발송하기 위해서..

[포인트]
sendmail 의 alias 기능을 이용해서 PHP 쉘 스크립트를 구동시킨다.
(다른 모든 메일서버에서도 비슷한 방법으로 사용이 가능하다.)

[준비사항]
1. sendmail 의 환결설정 파일에서 프로그램실행이 가능하도록 수정한다.
2. 특정한 이메일 아이디를 하나 선택한다.

[/etc/sendmail.cf 파일수정]
맨 아랫줄에 보면 아래와 같은 구문이 있다.. 대충 아래와 같이 수정한다.
Mprog, P=/bin/sh, ………
T=X-Unix/X-Unix/X-Unix,
A=/bin/sh -c $u

[/etc/aliases 에 계정추가]
# PHP Mailer
phpmailer: |/root/phpmailer.php

[/root/phpmailer.php 파일작성]
#!/usr/local/bin/php
while(!feof($fp)) {
$line = fgets($fp, 1024);
#여기서 파싱작업을 수행함..
}
fclose($fp);

?>

최근에 저는 이 방법을 이용해서 저에게 메일이 오면 제목을 파싱해서 특정 이메일인
경우에 자동으로 문자메시지를 남기도록 했습니다. 조금이라도 도움이 되셨길 바라며..