출처 : http://blog.naver.com/blueruby?Redirect=Log&logNo=60024778330
qmail queue 를 수동으로 삭제하는 방법.
일반적으로 qmail queue 는 일일이 수동삭제보다는 새로 삭제후 queue 폴더를 새로 만드는 방법을 많이 사용한다.
그러나 이방법의 문제점은 기존의 전송중인 메일이 날아가는 경우가 발생한다.
이럴때를 수동으로 삭제하는 방법을 기술한다.
일반적으로 queue 가 가득차는 경우는 스팸메일로 인하여 발생하는 경우가 대부분이다.
특정 스패머에 의해서 발생하는 경우가 대부분인것이다.
분류를 하자면 다음 3가지 정도가 될 것이다.
1. 스패머가 메일서버에 대량 스팸메일을 보낸경우
2. 스패머가 메일서버의 주소를 이용하여 Return-Path 를 메일서버의 특정주소를 이용한경우
(해킹이나 이런것은 아니다. 그냥 Return-Path 를 그 아이디로 지정했을뿐)
(이 아이디가 존재하지 않던 존재하던 별 문제는 없다 스패머입장에서는)
해당 아이디가 존재한다면 스팸메일 리턴메일로 가득차버릴것이다.
그렇지 않고 아이디가 존재하지 않으면 그 리턴메일이 큐를 가득채워버린다.
바운스를 해야 하는데 스팸이 많아서 더디게 진행된다.
정확히 말해서 queue 가 가득차버려서 진행이 더디게 되는 것일뿐
작동이 멈춘 것은 아니다.. (일반적으로는)
처리 방법
1. queue 디렉토리를 날려버리고 새로 재구성한다.
qmail fix 유틸리티를 사용하거나
아니면 qmail 리빌드 한다 qmail 소스에서 make setup check
2. 특정 메일만 날려버린다. 스팸메일이 @brturbo.com.br 에서 온것이라면
/var/qmail/queue 디렉토리에서
find . -name '*' -exec grep -l @brturbo.com.br {} ; -exec rm -f {} ;
이렇게 처리하면 해당 메일들을 모두 삭제가 된다.
but. 주의 할점은 나중에 로그를 살펴보면 이상한 메세지가 나타날것이다
warning: trouble injecting bounce message, will try later
이런 메세지가 나타날때면
queue 를 제대로 지우지 못해서 발생하는 것이다.
꼭 예전에 queue 디렉토리를 정리한때를 기억한다. (솔직히 별로 상관은 없다.. -_-)
보통은 하루정도가 지난때에 /var/qmail/queue/bounce 디렉토리에 들어가보면
무지막지하게 쌓여있는 것들을 볼수가 있다.. -_-;;
처리 방법은 ls -alt 로 정렬하여 queue 디렉토리를 정리한 날짜의 파일들만 골라내어
모두 삭제한다.
삭제방식은 편한대로 하면 된다.
나는 ls -alt 를 모두 캡쳐해서 해당 날짜의 파일들만 골라내어서
rm -rf 를 문자열 앞에 모두 붙여서 삭제한다. (에디트플러스사용)
만약에 bounce 만 정리하면
warning: unable to stat mess/67/104867
이 메세지가 뜬다.. -_-;
그리고 /var/qmail/queue/todo 디렉토리에 들어가서도 똑같은 방식으로 삭제하면
더 이상 warning 메세지는 나타나지 않는다.