index all rss twitter github linkedin email

Álvaro Ramírez

25 July 2018 Marking 20k emails as read

Mbsync and mu4e are great for syncing and handling IMAP email. I've now migrated 4 email addresses, including an old Yahoo account.

I wanted to mark all my Yahoo unread emails as read. Yahoo's webmail enables marking 500 emails at a time, making the process a little tedious.

Mu-discuss has a handy thread, highlighting that moving/renaming synced messages (in your local file system) would do the job. This worked well for me.

Let's do just that…

WARNING: Copy a small sample of your mails to a separate directory and run some trials until you feel comfortable.

Find your mail directory.

cd path/to/mail

Peek at the messages you'd like to mark unread:

ls -1 new/

1529958027.57518_11.mbp,U=8415:2, 1531346210.38822_3.mbp,U=8741:2, 1532464801.21057_1.mbp,U=9028:2, 1532464801.21057_2.mbp,U=9029:2,

Rename message files by appending "S" to their filename and moving from new/ to cur/ directory.

for FILE in new/*; do mv "${FILE}" cur/$(basename "${FILE}")S; done;

We can verify the move.

ls -1 cur/

1529958027.57518_11.mbp,U=8415:2,S 1531346210.38822_3.mbp,U=8741:2,S 1532464801.21057_1.mbp,U=9028:2,S 1532464801.21057_2.mbp,U=9029:2,S

Let's sync the local changes.

mbsync -Va

…and we're done ;)