윈도우에서 sendmail 사용 및 실행하기

짝퉁 2010.04.27 04:02:54
윈도우 환경의 APM에서 테크노트, 제로보드등의 설치와 실행 모두 잘되었습니다.

하지만 사이트를 운영준비를 하다가 마지막에 발생한 문제가 하나 있었는데

윈도우에서는 메일 서버가 없으므로 메일 발송이 불가능 하다는 겁니다.

왜 그런가 봤더니  PHP에서 mail() 함수가 작동하지 않아서 그렇더군요.

몇일을 헤메다가 찾아낸 방법은 "fake sendmail for windows" 라는 프로그램입니다.

리눅스의 sendmail 을 윈도우에서 사용가능하게 한 것입니다.

(하지만 외부 smtp 서버 주소가 필요합니다.)

예전에는 SSL/TLS 보안에 대해 지원을 하지 않았지만 최근에는 지원을 하기 때문에 gmail 의 SMTP 를 사용할수 있다는 장점이 있습니다.

gmail의 SMTP 의 경우에는 TLS 보안인증을 사용하기 때문에 사이트에서 sendmail-SSL 파일을 추가로 받아서 압축을 풀어준후에 sendmail.exe 와 같은 폴더에 복사해주면 됩니다.
윈도우 APM의 php.ini 파일을 열어서 아래와 같은 부분을 수정합니다.

sendmail_path = d:\sendmail -t

여기에 sendmail.exe 파일의 경로를 입력합니다.
확장자는 입력하지 마시고 옵션으로 뒤에 -t를 붙여줍니다.

sendmail.exe 와 같은 폴더에 위치한 sendmail.ini 를 열어 수정합니다

아래는 gmail 의 세팅 예제 입니다.

smtp_server=smtp.gmail.com

smtp_port=587

auth_username=아이디@gmail.com

auth_password=
비밀번호

force_sender=아이디@gmail.com

force_sender 를 지정하지 않으면 sender email 을 지정하지 않았다고 계속 오류가 발생합니다.

PHP 에서 mail함수에서 sender email 을 주어도 본문으로 들어가버립니다.

또하나 smtp_port 번호가 gmail 에서 말하기로는 465 또는 587이라고 하는데 465를 사용할경우에는 응답없음으로 나오면서 소켓 에러가 발생합니다.

위와같이 세팅을 하고 php의 mail 함수를 이용해보면 아주 잘 작동합니다 ^^

 

http://jeonheejun.com/405