Jak usunąć całą pocztę terminala?

94

Dawno temu założyłem cronjob, który teraz nie istnieje. Ilekroć otwieram Terminal, teraz mówi „masz pocztę”. Mam około 100 wiadomości, które mówią to samo. Jak masowo usunąć wszystkie wiadomości?

daviesgeek
źródło
1
Nawet nie wiedziałem, że MTA jest wbudowane w OS X. Chociaż teraz o tym myślę, szczerze mówiąc, nie jestem zaskoczony.
Jason Salaz
@JasonSalaz Zapomniałem zapytać, co to jest MTA?
daviesgeek
1
Agent transferu poczty. W razie wątpliwości Wikipedia . Znam przynajmniej MTA, MSA, MDA i MUA.
Jason Salaz

Odpowiedzi:

180

Uruchom mailnarzędzie UNIX , uruchamiając to w wierszu polecenia (np. Terminal.app):

$ mail

Zobaczysz listę wszystkich swoich wiadomości. Z wiersza polecenia zrób

? delete *
? q

I to powinno być to. Upewnij się , że wykonałeś polecenie qpo delete *, które zapisuje zmiany na dysku.

chrismanderson
źródło
Na początku nie wiedziałem, co oznacza aplikacja poczty. Dla każdego, kto ma takie same kłopoty: „To polecenie”. Wystarczy wpisać go w terminalu, a uruchomiona zostanie interaktywna aplikacja. +1 Dziękuję
Nabin
Możesz użyć del 1gdzie 1 jest także numerem wiadomości, na wypadek gdybyś potrzebował zachować wiadomość e-mail na potrzeby debugowania.
Fadli Saad
podążał za innymi odpowiedziami, ale exitwychodził z gry i nie działał. Dziękujemy za podanie qopcji.
frezq
10

Możesz także przejść bezpośrednią trasę i po prostu uruchomić, : > /var/mail/$USERaby opróżnić plik poczty.

PS: Usunięcie pliku poczty wymaga sudo, wystarczy ustawienie go jako pustego.

nohillside
źródło
0

Wiem, że ten post jest stary, ale chcę udzielić odpowiedzi.

aby usunąć wiadomości e-mail, wykonaj następujące czynności:

sudo rm /var/mail/[user]

Aby odpowiedzieć na to pytanie, sugeruję, aby wykonać następujące czynności do każdego crontab, aby nie chcieć wysyłać powiadomień e-mail (w ten sposób poczta nie będzie zawierać wiadomości e-mail)

* * * * * /path/to/script.sh > /dev/null 2>&1

lub

* * * * * command > /dev/null 2>&1
Jorge
źródło