출처 : http://blog.habonyphp.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%9A%A9-%EC%84%BC%EB%93%9C%EB%A9%94%EC%9D%BC-%EA%B5%AC%EC%B6%95#.VvttE_mLSUk
이 프로그램은 SMTP는 아닙니다. 단지, 윈도우에서 mail 함수를 사용할 수 있도록 해주는 기능입니다. 다음 링크에서 다운로드 받거나
http://glob.com.au/sendmail/ 에서 최신 버전을 다운로드 받아 설치하도록 합니다.
sendmail.zip
다운로드 받은 파일을 적절한 위치에 압축해제 합니다. 참고로 저는 C:\user\sendmail 폴더에 압축해제를 하였습니다. 다음 php.ini 파일을 열어 [sendmail_path] 코드를 찾아 아래와 같이 수정합니다.
; C:/설치경로/sendmail.exe -t ; 경로는 \ 대신 / 로 해주어야 합니다. sendmail_path = "C:/user/sendmail/sendmail.exe -t" |
위에서 이미 언급해듯이 이 프로그램은 mail 함수를 사용하도록 해주는 것 뿐, SMTP는 아닙니다. 그래서 현재 SMTP가 구축되어 있지 않다면, SMTP를 구축해 줄 필요가 있습니다. SMTP 구축이 어렵다면,
지메일이나
테라메일 등 외부 SMTP 를 사용하여야 합니다.
[지메일] ; id@gmail.com 일때만 정상 동작합니다. smtp_server = smtp.gmail.com auth_username = myid auth_password = mypasswd hostname = gmail.com
[테라메일] ; id@teramail.com 일때만 정상 동작합니다. smtp_server = mail.teramail.com auth_username = myid auth_password = mypasswd hostname = teramail.com |
다음은 ISP에서 제공하는 SMTP 서버 주소를 이용하는 방법입니다. 당연히 해당 통신사에 연결된 컴퓨터여야 하며, 자세한 문의는 통신사에 하면 되는데, 아이디나 패스워드 발급방법입니다.
[ KT ] smtp_server = kornet.net auth_username = myid auth_password = mypasswd hostname = kornet.net
[ SK ] smtp_server = mail.hanafos.com auth_username = myid auth_password = mypasswd hostname = hanafos.com
[ LG U+ ] smtp_server = smtp.xpeed.com auth_username = myid auth_password = mypasswd hostname = xpeed.com |
외부메일에 등록, 가입을 하였다면, C:\설치경로\sendmail\sendmail.ini 파일을 열어 적절히 수정해 줍니다.
; SMTP 서버 도메인 입니다. ; 지메일이나 테라메일 서버명을 적습니다. 지메일을 사용한다면 다음과 같이 작성합니다. smtp_server = smtp.gmail.com
; 기본 접속 포트 25 smtp_port = 25
; SMTPS (SSL) 보안서버 ; auto = use SSL for port 465, otherwise try to use TLS ; ssl = alway use SSL ; tls = always use TLS ; none = never try to use SSL
smtp_ssl = auto
; 지메일 서버를 사용한다면 아래처럼 도메인을 입력합니다.
default_domain= gmail.com
; 에러가 발생하면 기록될 파일명입니다. ; C:\설치경로\sendmail\ 에 에러가 기록됩니다.
error_logfile = error.log
; 외부메일에 등록된 아이디나 패스워드를 적습니다. ; 지메일이나 테라메일에 등록된 아이디, 패스워드를 입력합니다.
auth_username = 아이디 auth_password = 패스워드
; pop3는 받는 메일을 구축할 때 필요합니다. ; 이 기능은 사용하지 않을 것이므로 지우거나 비워 둡니다.
pop3_server = pop3_username = pop3_password =
; force the sender to always be the following email address ; this will only affect the "MAIL FROM" command, it won't modify ; the "From: " header of the message content
force_sender =
; force the sender to always be the following email address ; this will only affect the "RCTP TO" command, it won't modify ; the "To: " header of the message content
force_recipient =
; sendmail 도메인을 기록합니다. 지메일 서버를 사용한다면 아래처럼 도메인을 입력합니다.
hostname = gmail.com
|
이제 설정을 마무리하였으면, 서버를 재시작하거나 컴퓨터를 재부팅해 줍니다. 설정이 제대로 되었는지 mail 함수를 테스트해 봅니다. '보내는 사람' 메일은 반드시 적어서 테스트하여야 합니다.
<?php // 받는 사람 $to = 'myid@domain.com';
$subject = '제목입니다.'; $message = '내용입니다.';
// 보내는 사람 $from = 'myid@domain.com';
$headers = 'From: ' . $from . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers)){ echo "메일 전송되었습니다."; } ?> |
참고로 SMTP 서버가 윈도우를 사용한다면 \n 를 \r\n 로 바꿔주어야 합니다.