이 프로그램은 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 로 바꿔주어야 합니다.

블로그 이미지

하보니

하보니와 함께하는 phP 초보

Tag

댓글을 달아 주세요