Is there any way to automatically mark junk mail as 'read' in OS X (10.6.5) Mail? A free or shareware utility would be nice.

My mail provider supports junk filters that automatically moves selected messages to the junk folder, but does not mark them as read. OS X Mail picks them up (IMAP) and displays the headers in the Junk folder as unread.

I would like to continue to use my mail provider's filters instead of just the 'Rules' in OS X Mail because otherwise I show tons of messages in my iPhone inbox, since it does not support filtering.

  • Would you mind moving the accepted answer over to Dennis's? The current AA has a dead link, while Dennis's answer works :-)
    – Joe
    Commented Jun 12, 2017 at 9:09

5 Answers 5


Go To Mail -> Preferences -> Junk

When junk mail arrives, say: Perform Custom actions

Click on the Advanced button at the bottom, which just turned up to be active.


Then say "Mark as read" in one of your actions:

enter image description here

  • 2
    Unfortunately this did not work for me. I still get a few 'unread' Junk messages every once in a while. I'm wondering if it has to do with having a linked Gmail account.
    – mareoraft
    Commented Dec 1, 2018 at 14:44

The link in the accepted answer is dead. I've been able to solve this using the following AppleScript:

using terms from application "Mail"
    on perform mail action with messages theMessages
        tell application "Mail"
            set read status of messages of mailbox "Bulk Mail" of account "Yahoo!" to true
        end tell
    end perform mail action with messages
end using terms from

Using Script Editor, edit the above with the name of your Junk mailbox and account. Save it as "Mark_Junk_Read.scpt" in ~/Library/Application Scripts/com.apple.mail. Then, in Mail, go to "Preferences", "Rules", "Add Rule". Make the rule apply to "Every Message" and tell it to run your script, like so:

Apple Mail Script Rule

  • The accepted answer didn't work for me but this one did once I adapted it to work with my various mail accounts. Thanks!
    – Bri Bri
    Commented Sep 4, 2019 at 16:29
  • It seems I spoke too soon... sadly this answer doesn't work for me either, and I'm not sure why!
    – Bri Bri
    Commented Sep 5, 2019 at 16:34

You could add a Mail.app Rule that mark every new mail in the "Junk" folder as read.

  • 2
    I tried that. I could not find any way to say that the rule applies to the "Junk" folder. From the mail.app help: "[Rules are no longer applied when] A message is transferred to another mailbox by rules applied on a server or on a computer or device synced to the computer you’re currently using."
    – Ralph
    Commented Dec 17, 2010 at 15:18

You could create an AppleScript that does this.

I haven't looked into it much, but this link appears to have a promising solution.


  • This link is dead.
    – IconDaemon
    Commented Mar 2, 2015 at 22:04

I don't really trust SPAM headers. I've seen messages from mail-lists I subscribed to be labeled as SPAM and end up in that folder where I don't see it for ages.

As a result I bought a copy of SpamSieve which, after training, does a much better job filtering out the garbage.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .