1. php 4.3.1
2. apache 1.3.27
3. 웹서버에서 센드메일은 설치만 되어있고 구동은 안하고
있습니다.
4. 2차네임서버도 구동안하고 있구요,
5. 웹서버의 php.ini설정입니다.
---------------------------------------------------------------------
[mail function]
; For Win32 only.
SMTP = 211.111.111.112(메일서버로
되어 있습니다.)
; For Win32 only.
sendmail_from = me@localhost.com
; For Unix only. You may supply arguments as well (default: "sendmail -t
-i").
;sendmail_path =
---------------------------------------------------------------------
6.적어주신 코드를 실행시킨 결과입니다.
---------------------------------------------------------------------
MX check: 1
getmxrr check :1
Array ( [0] => mail.aaa.co.kr ) Array ( [0] => 0 )
---------------------------------------------------------------------
[산이]님이 남기신 글:
>
>[이석준]님이 남기신 글:
>
>>먼저 웹서버에서 디버깅 테스트한 결과입니다.
>>----------------------------------------------------------------------
>>1.
>># telnet mail.aaa.co.kr 25
>>Trying 211.111.111.112...
>>Connected to mail.aaa.co.kr.
>>Escape character is '^]'.
>>220 localhost.localdomain ESMTP Sendmail 8.11.6/8.11.6; Sat, 20 Sep 2003 09:27:54
+0900
>>
>>2.
>>Array ( [0] => 211.111.111.112 )
>>----------------------------------------------------------------------
>>웹서버에서 시행한 거구요, 전부 메일서버의 주소로 나타나고
있습니다.
>>
>>1.에서 웹서버로 해봤을 때는
>># telnet aaa.co.kr 25
>>Trying 211.111.111.113...
>>telnet: connect to address 211.111.111.113: Connection refused
>>
>>웹서버에 현재 센드메일이 떠 있지는 않습니다.
>>
>
>둘다 이상없군요.
>
>
>>또 웹서버의 /etc/mail/local-host-names 파일에
>>aaa.co.kr
>>mail.aaa.co.kr
>>를 추가하고 mail() 함수로 웹에서 user@aaa.co.kr user@mail.aaa.co.kr
>>로 보내 보았을때는 둘다 mail()함수에서 false를 리턴합니다.
이전에는 메일서버계정으로
가지는 않더라도 mail()에서는 true가 나왔었구요.
>>
>
>아..
>sendmail 8.11 버전부터 웹서버에 있는 센드메일을
이용하여
>(php.ini 에서 smtp=localhost 인경우를 말함) 메일을
보낼려면
>웹서에 있는 센드메일을 구동해줘야 합니다.
>
>
>
>>이때 웹서버에서의 메일로그 입니다.
>>---------------------------------------------------------------------
>>Sep 20 09:50:08 localhost sendmail[5558]: h8K0o8g05558: to=ㅇㅇㅇ<admin@aaa.co.kr>, delay=00:00:00, mailer=local,
pri=0, dsn=5.1.1, stat=User unknown
>>Sep 20 09:50:08 localhost sendmail[5558]: h8K0o8g05558: from=nobody, size=200,
class=0, nrcpts=1, msgid=<200309200050.h8K0o8g05558@localhost.localdomain>,
relay=nobody@localhost
>>Sep 20 09:50:08 localhost sendmail[5558]: h8K0o8g05558: h8K0o8h05558: DSN: User
unknown
>>Sep 20 09:50:08 localhost sendmail[5558]: h8K0o8h05558: to=root, delay=00:00:00,
xdelay=00:00:00, mailer=local, pri=30300, dsn=2.0.0, stat=Sent
>>
>>Sep 20 09:50:27 localhost sendmail[5567]: h8K0oRT05567: to=ㅇㅇㅇ<admin@mail.aaa.co.kr>, delay=00:00:00,
mailer=local, pri=0, dsn=5.1.1, stat=User unknown
>>Sep 20 09:50:27 localhost sendmail[5567]: h8K0oRT05567: from=nobody, size=208,
class=0, nrcpts=1, msgid=<200309200050.h8K0oRT05567@localhost.localdomain>,
relay=nobody@localhost
>>Sep 20 09:50:27 localhost sendmail[5567]: h8K0oRT05567: h8K0oRU05567: DSN: User
unknown
>>Sep 20 09:50:27 localhost sendmail[5567]: h8K0oRU05567: to=root, delay=00:00:00,
xdelay=00:00:00, mailer=local, pri=30308, dsn=2.0.0, stat=Sent
>>----------------------------------------------------------------------
>
>설정상의 문제는 없군요. 모두 리졸빙문제인것
같네요.
>mailer 를 보면 모두 local 입니다.
>이것은
>
>aaa.co.kr, mail.aaa.co.kr 모두 웹서버로 리졸빙한다는
의미입니다.
>
>
>>
>>웹서버에 수신자설정이 되어있는 상태에서 위처럼
admin가상유저로
보내지않고 aaa의 계정으로 보내봤더니 mail()에서 둘다 true가
나옵니다. 웹서버에서 mail명령어로 확인해 보니 메일이
왔습니다. 아래는 이때의 메일로그 입니다.
>>----------------------------------------------------------------------
>>Sep 20 10:24:27 localhost sendmail[5693]: h8K1ORw05693: from=nobody, size=244,
class=0, nrcpts=1, msgid=<200309200124.h8K1ORw05693@localhost.localdomain>,
relay=nobody@localhost
>>Sep 20 10:24:27 localhost sendmail[5696]: h8K1ORw05693: to=ㅇㅇㅇ<aaa@mail.aaa.co.kr>, ctladdr=nobody (99/99),
delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30244, dsn=2.0.0,
stat=Sent
>>
>>Sep 20 10:25:08 localhost sendmail[5704]: h8K1P8F05704: from=nobody, size=213,
class=0, nrcpts=1, msgid=<200309200125.h8K1P8F05704@localhost.localdomain>,
relay=nobody@localhost
>>Sep 20 10:25:08 localhost sendmail[5707]: h8K1P8F05704: to=ㅇㅇㅇ<aaa@aaa.co.kr>, ctladdr=nobody (99/99),
delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30213, dsn=2.0.0,
stat=Sent
>>----------------------------------------------------------------------
>
>역시 예상되로 리졸빙문제이군요.
>
>즉
>
>웹서버의 mail() 함수를 이용해서 user@aaa.co.kr user@mail.aaa.co.kr
>로 메일을 보내면
>둘다 모두 최정 목적지가 메일서버가 아니라 웹서버로
가게되어 있군요.
>
>웹서버에서 리졸빙은 모두 정상적인데(디버깅
테스트에 의해서)
>유독 mail() 함수에 의한 리졸빙이 꼬인것 같네요.
>
>1. 웹서버전과 PHP 버전
>
>2. php.ini 에서 메일관련 설정 smtp 부분
> (아니면 phpinfo() 의 결과 URL)
>
>3. 웹서버의 센드메일 구동유무(현재 off 되어 있죠?)
>
>4. 메일서버 == 2차네임서버 인데, 이 2차네임서버의 구동
유무
> (현재 가능한 Off 하는것이 좋겠군요)
>
>5. 웹서버에서
><?php
>$mxhost = array();
>$weight = array();
>echo 'MX check: '.checkdnsrr('aaa.co.kr','MX')."<BR>\n";
>$result = getmxrr('aaa.co.kr',$mxhost,$weight);
>echo 'getmxrr check :'.$result."<BR>\n";
>print_r($mxhost);
>print_r($weight);
>?>
>
>의 결과를 다시 포스팅해 주세요.
>현재 aaa.co.kr 에 대한 MX 리졸빙이 꼬인상태입니다.
>
>
>>
>>그리고 메일서버에는 현재 아래처럼 수신자설정이
되어있습니다.
>>localhost
>>mail.aaa.co.kr
>>aaa.co.kr
>>www.aaa.co.kr
>>...
>>admin등에 대한 가상유저 설정도 되어 있구요, admin@aaa.co.kr로 오는 스펨메일들은
메일서버에서 pop3로 잘 받아집니다.
>>
>>
>
>이것은 맞군요.
========================================
|