6

I have a neighbour who flags every single one of his mails as "high priority".

I'd like to remove this flag for all mails sent by him.

So, is there any way to control the priority level of incoming mail with a rule? If not, is there a way to change the priority of selected mails manually?

PS: I understand the priority is given by the server, but after downloading it locally, there is no reason I should not be able to modify some flags.

  • 1
    Priority is specified in the email headers and can't be changed by the recipient. – JBis Sep 8 '18 at 18:34
  • 2
    You may be able to do it through your email provider. What is your email provider? Relevant:webveteran.com/blog/web-coding/… – JBis Sep 8 '18 at 18:37
  • My provider is a small provider, Freehostia. Not one of the big players. – Florian F Sep 9 '18 at 18:36
2

Hmm. This is theoretical and untested but according to this:

Many mail clients have the option of marking an outgoing message 'high priority' or 'urgent.' In Mail.app, such messages show up in the Inbox with two exclamation marks (!!) in the flags column. If you want to sort messages by the flags column, so that messages you flag yourself are at the top, all high priority messages you have ever received will also be at the top of the inbox.

Mail.app currently has no way of removing this flag from emails you have received (as noted in this Apple discussions thread.). The following shell script allows you to unset the priority status of all the emails you have ever received, so that no emails in your inbox have '!!' next to them any more:

sqlite3 ~/Library/Mail/'Envelope Index' 'update messages set flags = flags | 196608 where flags & 196608 != 196608;'

You can save this as an AppleScript by opening AppleScript Editor and entering the following:

do shell script "sqlite3 ~/Library/Mail/'Envelope Index' 'update messages set flags = flags | 196608 where flags & 196608 != 196608;'"

You get set this to run when mail receives an email marked with high priority:

  1. Save your script to `~/Library/Application
  2. Scripts/com.apple.mail` Mail > Preferences > Rules > Add Rule
    • If any of the following conditions are met
    • Priority is High
    • Preform the following actions:
    • Run AppleScript [Select Your Script]
  • Thank you. This is exactly what I was after. At the same time it should be noted that doing sql on your mailbox is powerful stuff and you can mess up you mail storage pretty easily. So to anyone, if you do this it is at your own risk. If your mail provider provides a solution, that is preferred. But that didn't work for me. – Florian F Sep 11 '18 at 20:07
  • 1
    And in my case, ~/Library/Mail/'Envelope Index' has to be replaced by ~/Library/Mail/V2/MailData/'Envelope Index' – Florian F Sep 11 '18 at 20:08
  • I would rather not erase the high priority flag on incoming messages until after I have read them. I guess this can be enforced as an administrator warning (e.g., "don't run this script until you have read all of your email") -- or -- you could add similar logic to the script. – Timo L Nov 24 '18 at 19:58
  • @TimoL I agree, but this is what the OP reqeusted – JBis Nov 24 '18 at 22:43

You must log in to answer this question.

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