[최경민]님이 남기신 글:
>안녕하세요.
>환경은
>한컴 리눅스3.0
>(그냥 용량이 작아서 깔았는데, 왠지 맘에 걸립니다.ㅡ,.ㅡ)
>apache1.3.27
>php 4.3.1
>sendmail 8.12.5 입니다.
>
>다름이 아니오라, 메일이 아웃룩등에서 잘가고
잘받아집니다.
>작동도 잘 됩니다.
>php의 mail()함수를 이용해서 보내면 현재 메일이 보내지지
않습니다.
>현재 확인한것은
>php.ini의
>
>[mail function]
>
>SMTP = localhost
>
>sendmail_from = me@localhost.com
>
>sendmail_path = /usr/sbin/sendmail -t -i
>
>입니다. 기본적으로 sendmail rpm으로 깔린상태에서 imap 과 apm 만
소스 컴파일 했습니다.
>
>소스들은 기존에 쓰던것이고, 이번에 서버 새로 옮기면서
새로깔았는데
>이렇게 되었습니다.
>
>우선 여러곳에서 검색해도 명확한 답이 없기에, 마지마으로
제가 가진 몇개 안되는 책의 저자이시니 답을 주실지도
모른다고 생각했습니다.
>
>여기서도 검색하니 비슷한 경우가 있던데, 님께서 체크해
보란대로 해봤습니다.
>
>시간은 거의 30초 ~ 1분 정도 걸리면서 결국은
>send mail success를 출력했습니다. 그러나 메일은 안가죠...ㅡㅡ;;
><?
>if(!function_exists(MAIL)) {
>
> echo "error mail() not exists";
>
>} else {
>
> $to = "km1101@naver.com";
> $title = $text = "test mail";
>
> $mailstatus =
> mail ($to, $title, $text, "X-Mailer: PHP/" . phpversion());
>
> if(!$mailstatus)
> echo "send mail fail";
> else
> echo "send mail success";
>}
>?>
>
>로그화일을 보니 실패의 경우 아래경우처럼 에러가 나는것
같습니다.
>Mar 3 18:08:56 XXXX sendmail[17812]: h2398uFc017812: from=nobody, size=51,
class=0, nrcpts=1, msgid=<200303030908.h2398uFc017812@XXXX.com>,
relay=nobody@localhost
>
>Mar 3 18:12:05 XXXX sendmail[17812]: h2398uFc017812: to=id@XXXX.com, ctladdr=nobody (99/99),
delay=00:03:09,
> xdelay=00:03:09, mailer=relay, pri=30040, relay=localhost.com. [10.11.12.13],
dsn=4.0.0, stat=Deferred: Connection time
>d out with localhost.com.
>-------------------------------------------------------------
>
>물론 아웃룩으로 접속시에는 아주 잘 갑니다...
>혹시몰라, /usr/sbin/sendmail 화일에 777권한도 줘받는데,
안됐습니다.
>
>그리고 참고로, 이상하게 php.ini 화일의
>sendmail_path = /usr/sbin/sendmail -t -i -->지연되며 위와 같은
에러발생
>/usr/sbin/sendmail -t -f 이나 -ba 옵션을 줬을경우는 아예
mail()함수를 무시하고 지나 가버립니다.
>
>위의 테스트의 경우는 "send mail fail" 를
출력합니다.
>다른것 할것도 많은데, 신경쓰여서 ....
>다시 설치 할까도 했지만, 그건 차선책으로 할까 합니다.
>
>도와 주시면 정말 감사하겠습니다.
========================================
제생각에는 목적지 SMTP 호스트에 대한 리졸빙이
되지 않는것 같습니다.
-- /etc/resolv.conf --
168.126.63.1
----------------------
이와 비슷하게 또는 동일하게 네임서버가 설정되어
있어야 합니다.
그래야 리졸빙이되기 때문이죠..
그리고
-- /etc/hosts --------------
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.com localhost
...
----------------------------
이렇게 강제로 정확하게 설정해 주기 바랍니다.
또한 RELAY 문제도 생길 수 있으므로
(기본적으로 localhost 에서는 모두 허용하도록 되어 있음)
--- /etc/mail/access -------------
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
...
-----------------------------------
이렇게 정확하게 강제로 설정하고,
# makemap hash /etc/mail/access < /etc/mail/access
이렇게 한줄 명령어를 내려줍니다.
sendmail을 가동할 필요는 없습니다.
아무래도 RELAY 문제보다는 리졸빙 문제인것 같군요.
이대로 해보고 안된다면 결과에 대한 로그파일을 다시한번
다시한번 보여주세요.
|