/var/spool/mqueue가 실수로 삭제된 경우 수행할 작업

/var/spool/mqueue가 실수로 삭제된 경우 수행할 작업

다른 스크립트의 버그로 인해 var/spool/mqueue에 1000개의 메시지가 있습니다.

메시지 전송을 방지하려면 /var/spool/mqueue를 삭제해야 한다는 내용을 어딘가에서 읽었습니다.

불행히도, sendmail은 이 작업을 수행한 후에 메일을 보낼 수 없는 것 같습니다! 이메일을 보내려고 해도 받지 못합니다.

mailq를 실행하면 다음과 같은 결과가 출력됩니다.

MSP Queue status...
        /var/spool/mqueue-client (4 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
sAID7J0d003724       13 Tue Nov 18 13:07 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID7JS9003725)
                     [email protected]
sAID998F003775       15 Tue Nov 18 13:09 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID99Xx003776)
                     [email protected]
sAID7sxW003748      116 Tue Nov 18 13:07 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID7sQr003749)
                     [email protected]
sAID6QO1003700      117 Tue Nov 18 13:06 me
                 (Deferred: 421 4.3.0 collect: Cannot write ./dfsAID6Qda003701)
                     [email protected]
        Total requests: 4
MTA Queue status...
/var/spool/mqueue is empty
        Total requests: 0
me@mycomp:/var/spool/mqueue$ 

어떻게 해결할 수 있나요?

편집: 저는 보통 다음을 통해 메일을 보냅니다:

echo "My message" | sendmail [email protected]

답변1

다음 명령을 사용하여 디렉터리를 만듭니다.

mkdir  /var/spool/mqueue

mqueue 디렉토리에 올바른 권한이 있는지 확인하세요.

chown root:mail /var/spool/mqueue

그런 다음 Sendmail을 다시 시작하십시오.

service sendmail restart

관련 정보