cd /usr/local/src/

wget http://www.netmeridian.com/e-huss/queue-fix.tar.gz

tar zxvf queue-fix.tar.gz 

cd queue-fix-1.4

make -j 8

=========================================================================

/etc/rc.d/init.d/qmail stop     // qmail 가동을 중지 합니다.
mv /var/qmail/queue /var/qmail/queue.bak // 혹시모르니 기존 디렉토리를 백업합니다.

./queue-fix -i /var/qmail/queue // [Y/N]를 두번 정도 물어보는데 모두 Y를 선택하면 됩니다.



혹시 진행중 아래와 같은 오류가 발생되면

=========================================================================

./load auto-str substdio.a error.a str.a 

/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o) 

/lib/libc.so.6: could not read symbols: Bad value 

collect2: ld returned 1 exit status 

make: *** [auto-str] 오류 1

=========================================================================

아래와 같이 해결 가능합니다.


vi error.h

=========================================================================

extern int errno; 부분을 찾아 행을 삭제하고
#include <errno.h> 이부분으로 대체하면 됩니다. (앞에 #포함)

=========================================================================


vi conf-cc 

=========================================================================

gcc -O2 ->     gcc -O2 --include /usr/include/errno.h  
=========================================================================


make -j 8


그리고 한가지 더 체크해주어야 할게 있는데요,

혹시 기존의 /var/qmail/queue 디렉토리에 22번이후의 번호가 존재할 경우

아래 스크립트를 이용해 23부터 199번까지 생성해줍니다.



# vi queue_add.sh     // 파일을 생성하여 아래 내용을 추가

=========================================================================

#!/bin/bash
for ((a=23;a<=199;a++))

do

mkdir /var/qmail/queue/info/$a;

chown -R qmails.qmail /var/qmail/queue/info/$a;

chmod -R 700 /var/qmail/queue/info/$a;

mkdir /var/qmail/queue/local/$a;

chown -R qmails.qmail /var/qmail/queue/local/$a;

chmod -R 700 /var/qmail/queue/local/$a;

mkdir /var/qmail/queue/mess/$a;

chown -R qmailq.qmail /var/qmail/queue/mess/$a;

chmod -R 750 /var/qmail/queue/mess/$a;

mkdir /var/qmail/queue/remote/$a;

chown -R qmails.qmail /var/qmail/queue/remote/$a;

chmod -R 700 /var/qmail/queue/remote/$a;

done

=========================================================================

sh queue_add.sh




/etc/init.d/qmaild stop

rm -rf /var/qmail/queue

./queue-fix -i /var/qmail/queue       //    큐메일 디렉토리 복구

/etc/init.d/qmaild start      // qmail 시작합니다.



※ 여기서 중요한것은 큐메일 디렉토리를 삭제하고 복구를 했을 경우

일부 시스템에서는 리부팅을 해줘야만 완전히 복구 되는 경우가 있습니다

이제 메일 발송을 해보세요. 잘 발송 될것입니다!

=========================================================================

qmail,sendmail 큐삭제


qmail 큐를 삭제하기전에 쌓여있는 큐를 확인한다.



# /var/qmail/bin/qmail-qstat

         messages in queue: 984

         messages in queue but not yet preprocessed: 0



이렇게 확인을하게되면 쌓인 큐가 얼마나되는지 확인할수있다.

쌓인 큐를 삭제하려면 qmHandle 로 큐를 삭제한다.

#qmHandle -D 로 쌓인 큐를 삭제한다.



sendmail 큐 삭제하는 방법

#mailq 로 쌓여있는 큐를 확인한다..

#cd /var/spool/mqueue 를 입력하여 해당 디렉토리에 들어간다

#pwd 로 해당디렉토리에 위치하였는지 확인한다.

#rm -rf *을 이용하여 해당 디렉토리에있는 큐를 삭제한다.

#mailq를 실행하여 쌓여있는 큐가 삭제되었는지 확인한다.

'Mail' 카테고리의 다른 글

다람쥐메일(squirrelmail) 설치 방법  (0) 2020.10.05
Qmail 설치  (0) 2020.09.28
QMail 특징 및 필요 개발모듈  (0) 2020.09.21
Roundcube mail  (0) 2020.09.15
Dovecot 설치 및 설정  (0) 2020.09.15
Posted by returnrisk
,