smurf's work diary..

Adventures of Bilbo Baggins

sendmail 에서 메일 발송시에 DSN: Data format error 오류가 나는 경우

2008/11/11 14:01  |   분류없음  |   스머프
sendmail 에서 메일 발송시에 로그파일을 확인해 보면 DSN: Data format error 오류가 나는 경우가 있다.

이런 경우 젤 먼저 확인할 것이 hostname 이 바르게 되었는지 확인해야 한다.

hostname 이 틀린 경우 메일을 발송시에 sendmail 에서 hostname과 ip를 체크해서

아이피가 틀린 경우 위와 같은 에러 메세지가 나오는 것으로 보인다.

이런 경우 먼저 /etc/hosts 에서 아이피와 호스트명을 등록한다.

hostname 을 변경한다. (리부팅 없이 할려면

 echo "hostname" > /proc/sys/kernel/hostname

와 같이 하면 바로 적용이 된다.

위와 같이 지정해 준 후에 다시 한번 메일 테스트를 해 본다...

DSN 에러가 나타나지 않으면 정상적으로 적용이 된 경우임.
크리에이티브 커먼즈 라이센스
Creative Commons License

php-extension 에서 mysql 컴파일시 오류 해결

2008/11/07 11:11  |   분류없음  |   스머프

centos-5.2 에서 김정균씨의 php-extension 을 컴파일시에 mysql 모듈에서

컴파일 오류가 발생한다.

원인을 찾던 중  sys/types.h 에 원인의 해결책이 있었다.

#ifndef __gid_t_defined
typedef __gid_t gid_t;
# define __gid_t_defined
#endif


#ifndef __uid_t_defined
typedef __uid_t uid_t;
# define __uid_t_defined
#endif


위의 내용이 있다.

gid_t 는 __gid_t 로 정의가 되어 있다.

그러나, mysql 모듈에서 자체적으로 uid_t, gid_t 가 매크로로 정의가 되어있다.

결국은 2중 매크로 정의로 인해서 오류가 발생한 것이었다.

해결 방법은

spec 파일에서 -D__uid_t_defined    -D__gid_t_defined 를 추가 정의 해 준다.

위의 2개를 정의 해 줌으로써, sys/types.h 에 있는 매크로 정의는 생략되어,

2중 매크로의 적용이 되지 않는다.

크리에이티브 커먼즈 라이센스
Creative Commons License

cent-5.2 에서 안녕 배포판의 센드메일 컴파일 에러 해결하기.

2008/11/06 17:55  |   분류없음  |   스머프

cent-5.2 에서 김정균씨의 안녕 배포판에서 배포하는 sendmail 을 기본적으로

재패키징을 하면 에러가 발생이 됩니다.

에러를 확인해 보면 안녕 배포판에서는 cryus-sasl-1.5.28 이 패키징으로 되어 있으나,

centos-5.2 에서는 cryus-sasl-2.1.22  버전이 설치가 되어 있어서 버전의

차이로 인해서 문제가 생깁니다.

이 부분을 해결하는 부분은 sendmail.spec 파일에서

confENVDEF에서 -DSASL을  -DSASL=2 -D_FFR_UNSAFE_SASL 로 수정하고,

conf_sendmail_LIBS 에서  -lsasl2 로 수정한 후  컴파일 하면

에러없이 패키지를 작업할 수 있습니다.


컴파일 하고 설치를 한 후에는 SASL2 부터는 인증을 saslauthd 로 하게 되므로,

/usr/lib/sasl2/Sendmail.conf  에서 pwcheck_method: saslauthd  로 수정하여

인증을 saslauthd 로 하겠다고 지정해 주고, /etc/sysconfig/saslauthd 에서는

MECH=pam 으로 수정하여 인증 메커니즘은 pam 으로 하겠다고 지정한 후에

saslauthd, sendmail 두개 모두 재시작을 하면 정상적으로 메일 사용이 가능합니다.
크리에이티브 커먼즈 라이센스
Creative Commons License