일부 크론 작업을 설정했으며 크론 결과를 전자 메일로 보냅니다. 몇 달에 걸쳐 나는 수많은 이메일을 축적했습니다.
이제 내 질문은 어떻게 사서함에서 모든 전자 메일을 제거 할 수 있습니까?
답변
/var/mail/username
파일을 삭제하여 특정 사용자의 모든 이메일을 삭제할 수 있습니다 . 또한 발신하지만 아직 전송되지 않은 이메일은에 저장됩니다 /var/spool/mqueue
.
답변
대체 방법 :
mail -N
d *
quit
-N
메일을 읽거나 메일 폴더를 편집 할 때 메시지 헤더의 초기 표시를 금지합니다.
d *
모든 메일을 삭제
답변
그냥 사용하십시오 :
mail
d 1-15
quit
번호 1과 15 사이의 모든 메시지가 삭제됩니다. 모두 삭제하려면을 사용하십시오 d *
.
방금 우분투 12.04.4에서 이것을 직접 사용했으며 매력처럼 작동했습니다.
예를 들면 다음과 같습니다.
eric@dev ~ $ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/eric": 2 messages 2 new
>N 1 Cron Daemon Tue Jul 29 17:43 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
N 2 Cron Daemon Tue Jul 29 17:44 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
& d *
& quit
그런 다음 메일을 다시 확인하십시오.
eric@dev ~ $ mail
No mail for eric
eric@dev ~ $
트립 되는 것은 해당 세션 동안 변경 사항을 롤백하는 것을 사용 x
하거나 exit
종료하는 것입니다.
답변
메일 서비스가 여전히 켜져 있으면 파일이 생성되므로 파일을 삭제하는 대신 파일을 무효화 할 수 있다고 생각합니다. 다음과 같은 일이 일을 할 것입니다
cat /dev/null >/var/spool/mail/tomlinuxusr
그렇습니다.이 오래된 실을 깨워서 미안하지만 내가 기여할 수 있다고 느꼈습니다.
답변
짧막 한 농담:
echo 'd *' | mail -N
답변
UNIX / Linux / Mac OS X에서는 파일을 복사하고 덮어 쓸 수 있습니다. 이 솔루션은 어떻습니까?
cp /dev/null /var/mail/root
답변
메일 서버에서 cyrus / sasl / imap을 사용하는 경우 지정된 일 수보다 오래된 메일 함의 모든 항목을 제거하는 빠르고 효율적인 방법은 cyrus / imap ipurge 명령을 사용하는 것입니다. 예를 들어, 다음은 사용자 vleo 에서 30 일보다 오래된 모든 것을 제거하는 예제입니다 (주의해야합니다 !!) . cyrus (imap 메일 관리자) 사용자 로 로그인해야합니다 .
[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo
Working on user.vleo...
total messages 4
total bytes 113183
Deleted messages 0
Deleted bytes 0
Remaining messages 4
Remaining bytes 113183