Saya telah menyiapkan beberapa pekerjaan cron dan mereka mengirim hasil crons ke email. Sekarang selama berbulan-bulan saya telah mengumpulkan banyak sekali email.
Sekarang pertanyaan saya adalah bagaimana saya bisa membersihkan semua email itu dari kotak surat saya?
Jawaban:
Anda cukup menghapus
/var/mail/username
file untuk menghapus semua email untuk pengguna tertentu. Juga, email yang keluar tetapi belum terkirim akan disimpan di/var/spool/mqueue
.sumber
username
harus diganti dengan pengguna yang ingin Anda hapus emailnya. Dalam kasus Anda, email sedang dikirim ke pengguna yang dipanggilcron_results
, jadi Anda harus menghapus/var/www/cron_results
.cara alternatif:
-N
Menghambat tampilan awal header pesan saat membaca email atau mengedit folder email.d *
hapus semua emailsumber
> mbox
di direktori home, ini hanya memotong file mbox.Cukup gunakan:
Yang akan menghapus semua pesan antara nomor 1 dan 15. untuk menghapus semua, gunakan
d *
.Saya hanya menggunakan ini sendiri di ubuntu 12.04.4, dan itu bekerja seperti pesona.
Sebagai contoh:
Kemudian periksa lagi email Anda:
Apa yang membuat Anda tersandung adalah Anda menggunakan
x
atauexit
untuk keluar yang mengembalikan perubahan selama sesi itu.sumber
d*
, setidaknya diCentOS 7
.exit
daripadaquit
membuatku tersandung.exit
akan membatalkan sesi, sehingga semua email yang menunggu penghapusan dibiarkan utuh.quit
akan menulis perubahan kembali, jadi email yang dihapus dilakukan pada saat itu.d 1-15
bekerja di Debian 8. Terima kasih!Daripada menghapus, saya pikir kita dapat membatalkan file, karena file akan dibuat jika layanan email masih aktif. Sesuatu seperti mengikuti akan melakukan pekerjaan itu
Dan ya, maaf karena membangkitkan utas lama ini, tetapi saya merasa saya bisa berkontribusi.
sumber
Satu liner:
sumber
yes 'd' | mail
berfungsi seperti yang diharapkan.Pada UNIX / Linux / Mac OS X Anda dapat menyalin dan menimpa file, bukan? Jadi bagaimana dengan solusi ini:
sumber
Jika Anda menggunakan cyrus / sasl / imap pada server surat Anda, maka salah satu cara cepat dan efisien untuk membersihkan segala sesuatu di kotak surat yang lebih lama maka jumlah hari yang ditentukan adalah dengan menggunakan perintah cyrus / imap ipurge . Sebagai contoh, berikut adalah contoh menghapus semuanya (hati-hati !!), lebih lama dari 30 hari dari pengguna vleo . Perhatikan, bahwa Anda harus masuk sebagai pengguna cyrus (administrator imap mail):
[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
sumber
Daripada menggunakan "d", mengapa tidak "p". Saya tidak yakin apakah "p *" akan berfungsi. Saya tidak mencobanya. Kamu bisa; namun gunakan skrip berikut "
sumber