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 |