A.7. 의외의 실수

큐메일신참자는 다음과 같은 문제들을 자주 만납니다.

A.7.1. 큐메일은 수퍼유저에게 메일을 전달하지 않습니다.

qmail-local이 특권사용자로서 명령을 실행하는 가능성을 막기위해서, 큐메일은 UID가 0인 모든 사용자를 무시합니다. 이것은 qmail-getpw 맨페지에 설명되어 있습니다.

그렇다고 큐메일이 root@example.com에 전달하지 않는다는 것은 아니고, 다만 전달은 비특권사용자에 의해 처리되어야 한다는 것입니다. 으례, ~/alias/.qmail-root을 채워서 root에 대한 앨리어스를 만듦니다.

A.7.2. 큐메일은 홈디렉토리가 없는 사용자에게 메일을 전달하지 않습니다.

또하나의 보안특징이고, 좋은 습관입니다. qmail-getpw맨페지에 설명되어 있습니다.

A.7.3. 큐메일은 사용자이름에 대문자를 쓰는 사용자에게 메일을 전달하지 않습니다.

큐메일은 주소에서 "@"의 왼쪽에 있는 모든 것인 "로컬부분"을 소문자로 변환합니다. 맨페지에는 설명되어 있지 않지만, 코드는 그렇게 합니다. 대문자를 갖는 사용자를 무시한다는 사실은 qmail-getpw맨페지에 기록되어 있습니다.

A.7.4. 큐메일은 홈디렉토리에 그룹이나 기타사용자에게 쓰기를 허락하는 사용자에게 메일을 전달하지 않습니다.

또하나의 보안특징입니다. qmail-local맨페지에 설명되어 있습니다. 컴파일시 conf-patrn 컴파일 컨피그파일을 통해서 재지정할 수 있습니다.

A.7.5. 큐메일은 확장주소의 점(.)을 콜론(:)으로 바꿉니다.

또하나의 보안특징입니다. 확장주소가 파일트리를 ".."로 백업하는것을 막는 것이 목적입니다. 콜론으로 바꾸기 때문에, 큐메일은 사용자의 .qmail파일 모두가 홈디렉토리에 있게 합니다. qmail-local맨페지에 기록했습니다.

A.7.6. 큐메일은 확장주소의 대문자를 소문자로 바꿉니다.

큐메일은 주소의 로컬부분을 모두 소문자로 만든다는 또하나의 사실입니다. qmail-local맨페지에 설명했습니다.

A.7.7. 큐메일은 /etc/hosts를 사용하지 않습니다.

큐메일은 호스트네임이 있는 IP주소를 결정하기 위해서 /etc/hosts를 사용하지 않습니다. control파일에 있는 이름을 사용하면, 큐메일은 네임서버에 접근할 수 있어야 합니다.

그래도 네임서버에 접근할 수 없는 시스템에서도 큐메일을 운영할 수 있습니다. control파일에 있는 호스트는 IP주소로 적을 수도 있는데, 대괄호 ([])로 둘러싸야 합니다. 예를 들면 다음과 같습니다.
[10.1.2.219]
사실, 대괄호가 언제나 필요하지는 않지만, 사용해야 좋은 방법입니다.

A.7.8. 큐메일은 SMTP활동을 록하지 않습니다.

여러 이유로 해서, 큐메일은 SMTP접속, 거절, 무효명령, 또는 유효명령 등을 록하지 않습니다. tcpserver로 접속을 록할 수 있고, recordio로 SMTP대화 전부를 록할 수 있습니다. recordio는 ucspi-tcp패케지의 일부입니다. 절차는 http://cr.yp.to/qmail/faq/servers.html#recordio의 FAQ에 설명되어 있습니다.

A.7.9. 큐메일은 지연통지를 만들지 않습니다.

Sendmail은 수시간내에, 통상 4시간내에, 메세지를 전달할 수 없으면, 작성자에게 지연통지를 보냅니다. 이 통지는 바운스메세지같아 보입니다만, 아직 전달이 영구실패했다는 것을 가리키지는 않습니다.

큐메일은 이런 경고를 보내지 않습니다. 전달불능메세지는 큐에서 큐수명시간을 다 보낸다음에야만 작성자에게 돌려집니다.

A.7.10. 큐메일은 /var/qmail/queue/lock/trigger가 틀린접근권한이거나 보통파일이면 늦어집니다.

qmail-queue와 qmail-send는 /var/qmail/queue/lock/trigger라는 네임파잎은 통해서 의사소통합니다. 이 파잎이 엉망이 되면, qmail-send는 반시간정도 새메세지를 통보하지 않습니다.

올바르게 설치되었다는 것을 확신하는 가장 좋은 방법은 소스디렉토리에서 "make check"을 실행하는 것입니다. 그것이 가능하지 않다면, 다음과 같은 지 확인하십시오.
# ls -l /var/qmail/queue/lock/trigger 
prw--w--w-   1 qmails	 qmail			 0 Jul	5 21:25 /var/qmail/queue/lock/trigger

줄의 앞에 (네임파잎을 알리는) "p", 모드 (특히 전체쓰기허가), 소유자와 그룹 등에 각별히 유의해 보시기 바랍니다.

A.7.11. DNS 또는 IDENT를 찾느라고 SMTP가 느려질 수도 있습니다.

qmail-smtpd가 접속반응이 늦으면, DNS 역참조나 IDENT참조가 문제입니다. tcpserver로 qmail-smtpd를 기동한다면, "-h", "-p", "-r" 등의 옵션을 지우고, "-H", "-P", "-R", "-l 0" (ell zero) 등의 옵션을 붙이십시오.