우분투 14.04 메일 서버 : Postfix
root는 crontab으로부터 수십 개의 이메일을받습니다. 이 메일에는 PHP 경고가 포함되어 있습니다.
- 이 경고의 원인을 수정했습니다.
- 나는 모든 cronjobs가 이메일을 보내지 않도록 수정했습니다 (출력 결과는
>/dev/null 2>&1
) -
이전 이메일을 모두 삭제했습니다
/ var / mail / root
/ var / spool / mail / root
하지만 여전히 매시간 수십 개의 이메일을받습니다. 이러한 전자 메일은 크론 작업에서 생성되며 때로는 거의 한 달 전입니다.
이해할 수 없습니다 :이 이메일은 어디에서 왔으며 어디에 저장됩니까?
답변
이메일 대기열에 배달되지 않은 오래된 메일입니다. 당신이 그들을 제거하려면 그들을 찾아서 삭제해야합니다.
당신은 사용할 수 있습니다 mailq
확인하고 postsuper -d ALL
모두 한 번에 삭제할 수 있습니다.
참고할 사항 :
-
상대적으로 오래된 전자 메일을 받기 시작할 때마다 해당 전자 메일이 어딘가 (로컬 서버 또는 원격지)에 대기하여 현재 배달되고 있는지 확인할 수 있습니다.
-
접미사에 대한 전체 큐를 보려면 다음을 사용할 수 있습니다.
mailq
또는postqueue -p
출력이 동일합니다. 명령 출력이 한 번에 모든 메일을 덤프하려고하기 때문에 대기열에 수천 개의 메일이있는 경우이 방법이 효과적이지 않을 수 있습니다. 이 경우 다음과 같은 명령을 사용할 수 있습니다mailq | more
. - 오히려 필요한 메일이 대기열에 붙어있는 경우에, 당신은 사용할 수 있습니다
postfix flush
또는postfix -f
대기열 또는 다른 말로를 플러시하려고 즉시 보내려고한다. - 대기열에 많은 지연된 전자 메일이 있고 독점적으로 제거하려는 경우을 사용할 수 있습니다
postsuper -d ALL deferred
. qshape
또한 mailq를 검사하는 동안 매우 유용한 명령입니다. Postfix 병목 현상 분석을 확인하십시오 .
답변
대기 중이 어서 현재 배달되고있는 메시지처럼 들립니다. 이러한 메시지가 자신의 서버에서 시작된 경우 /var/spool/postfix
발신 메일 큐와 명령 에 아래 에 저장 sudo showq
되었거나 sudo postqueue -p
아직 배달되지 않은 나머지 메시지를 큐에 나열해야합니다.
/ var / spool / mail / root는 최종 목적지로 이미 배달 된 메일을 포함하는 기본 메일 박스 위치로, 새 메일이 도착하는 것을 막지 않습니다.
이 Q & A 는 대기열을 정리하는 데 사용될 수 있습니다.