postfix-큐에서 메일 배달을 다시 시도하는 방법?


94

주 서버에 장애가 발생하면 백업 메일 서버가 있습니다. 이 경우 실패한 메일은 백업 서버에 제공되고 기본 메일이 돌아올 때까지 유지됩니다.

몇 번 기다리면 주 서버가 돌아 오자마자 배달이 자동으로 수행되지만 시간이 오래 걸릴 수 있습니다. 그렇다면 모든 메일을 강제로 재 시도하는 방법은 무엇입니까?

예를 들어 : postqueue -p : 나에게 메일 목록을 줘

그런 다음 postqueue -f를 시도했습니다 (Man page : 대기열 비우기 : 모든 대기 메일 배달 시도). 큐를 플러시했지만 메일이 배달되지 않았습니다 ...


-f가 플러시되고 -q가 대기열 인 것 같습니다 (대기열 보내기)
erm3nda

1
없습니다 postqueue -q. 이 sendmail -q접미사가 완전히 sendmail을 대체 할 수 있도록 센드 메일 구문을 지원하기 위해,하지만 동의어입니다. postfix가 sendmail과 다른 문자를 선택했기 때문에 다른 문자는 jsut입니다.
Johannes H.

다시 죄송합니다, 같은 날에 의견을 보내주십시오 :) 그래서 둘 다 잘못되었습니다.
erm3nda

답변:


112

postqueue (1) 에 따르면 간단히 postqueue -f메일 대기열을 비우기 위해 실행할 수 있습니다 . 큐를 비운 후 메일이 배달되지 않고 대신 대기열에있는 경우 메일 로그에서 오류가 있는지 확인할 수 있습니다.

postsuper (1)을 들여다 보는 것도 도움이 될 수 있습니다. 메시지가 보류 중이며 먼저 해제해야 할 수도 있습니다.


36

postqueue -f작동해야합니다. 그렇지 않은 경우에는 그럴만한 이유가 있습니다. 로그를 확인하십시오. 또한 pfqueue 는 메일 스풀 검사에 매우 유용한 명령입니다.


15

sendmail -q 대기열에있는 모든 메일 배달을 즉시 재 시도합니다.


postqueue -f를 실행하는 것과 동일하지 않습니까?
Dalibor Filus

2
@NoICE입니다. 에서 워드 프로세서 : 모든 메일을 큐에 전달하기 위해 시도 -q. postqueue (1) 명령을 실행하여 구현됩니다.
the-wabbit

나는 그것을 확인하지 않았지만 -f는 플러시이고 -q는 대기열 인 것 같습니다. 하나는 다음을 보내려고 시도하고 다른 하나는 대기열을 정리합니다. 내가 추측을 전달하는 것이 좋습니다.
erm3nda

1
@ erm3nda 최소한 맨 페이지를 먼저 확인하십시오. 로부터 postqueue매뉴얼 페이지 "큐를 플러시 -f :. 모든 메일을 큐에 전달하는 시도는이 옵션은 기존의 구현"센드 메일 -q "(8) 디먼 후위 QMGR에 연락하여, 명령을." => 그들은 동의어이며 정확히 똑같습니다. "
Johannes H.

@JohannesH. Doh ... 미안, 내가 읽어 봐야겠다는 말이 맞아. 정정 주셔서 감사합니다.
erm3nda

4

postqueue -s domain.tld백업 릴레이 시스템에서 사이트의 모든 이메일을 플러시해야합니다. postfix의 기본 설정은의 모든 도메인에 대해 사이트 별 플러싱을 활성화합니다 relay_domains. postqueue -f이 작업도 수행하지만 외부 사이트에 대한 메일도 푸시합니다. 즉, 필요한 것 이상을 수행합니다.

메일이 배달되지 않았다고 어떻게 판단합니까? 여전히 백업 호스트에 있거나 기본 호스트로 전송 된 후 손실 되었습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.